How to get index of no zero column in mysql?

Member

by adan , in category: MySQL , a year ago

How to get index of no zero column in mysql?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

Member

by rollin , a year ago

@adan 

You can use the IF() function in MySQL to get the index of the non-zero columns in a table. Here's a step-by-step guide:

  1. Assuming you have a table called your_table, with columns col1, col2, col3, and you want to find the index of the non-zero columns.
  2. Use the IF() function to check each column for non-zero values and assign a value accordingly. If the column has a non-zero value, assign it the column index, otherwise assign it 0.
  3. Use the GREATEST() function to get the highest column index value a**** the columns.
  4. The result of the GREATEST() function will be the index of the non-zero column.


Here's the SQL query to accomplish this:

1
2
SELECT GREATEST(IF(col1 <> 0, 1, 0), IF(col2 <> 0, 2, 0), IF(col3 <> 0, 3, 0)) AS non_zero_column_index
FROM your_table;


This query will return the index of the non-zero column as non_zero_column_index.

Related Threads:

How to get "not null column name" in mysql database?
How to get the top row for each group in a column in mysql?
How to get unique values from multiple-column values in mysql?
How to get column with duplicate record with php & mysql?
How to properly compare bigint column in mysql 5.7?
How to show composite index in mysql?