How to get index of no zero column in mysql?

Member

by adan , in category: MySQL , 3 months ago

How to get index of no zero column in mysql?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

Member

by rollin , 3 months 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.