所以我在mysql中有下表:
user_id column1 column2 column3 column4 column5
------- ------- ------- ------- ------- -------
1 1 15 12 20 25
2 5 9 6 15 10
3 7 12 21 9 17
我想将每个记录的用户id以及具有最高值的列名插入到一个新表中,如下所示:
user_id highest_val
------- -----------
1 column5
2 column4
3 column3
有人能帮我吗?谢谢!
到目前为止,我只能使用以下查询获取列的值,而不是列名本身:
insert into table2 (user_id, highest_val) SELECT user_id, GREATEST(column1, column2, column3, column4, column5) FROM table1
3条答案
按热度按时间lstz6jyr1#
使用cte和接头,如下所示:
7gs2gvoe2#
假设没有值
NULL
,您可以使用case
表达式:你也可以这样说:
mkh04yzy3#
使用
CASE
表达式来获取相应的列名。