基本上我有一个样本表:
Town V1 V2 V3 V4 V5
New York 0.12 0.1 0.11 0.21 -0.12
来自示例查询:
SELECT town, v1, v2, v3, v4, v5 FROM sample
我想查询只返回以下内容:
New York V4 0.21
这意味着,我想返回城镇,最大值(V4)和最大值(0.21)的标题
在MySQL中有没有简单的方法呢?
答案 0 :(得分:0)
如果您没有NULL
个值,则:
select town, greatest(v1, v2, v3, v4, v5)
如果您拥有NULL
值,则会更加痛苦。如果您知道这些值永远不会消极:
select town,
nullif(greatest(coalesce(v1, -1), coalesce(v2, -1), coalesce(v3, -1),
coalesce(v4, -1), coalesce(v5, -1)), -1)