也许我有三列,列名为col1,col2和col3.现在,我想为每个列选择具有最大条目的列,类似这样.
选择name_of_column(max(col1,col2,col3)).
我知道我可以通过information_schema.COLUMNS表中的顺序位置来查询列的名称,但是如何获取表中数据库条目的顺序位置?
最佳答案
如果要在纯sql中实现它,则可以使用CASE语句和一个附加变量:
SELECT @m := GREATEST(col1,col2),CASE @m
WHEN col1 THEN 'col1'
WHEN col2 THEN 'col2'
END
FROM my_table