2015-12-27 33 views
0

基本上我有一个示例表:如何从表中的1行获取MAX值及其列标题?

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

'SELECT GREATEST(v1,v2,v3,v4,v5)'将返回最大值。不知道如何让头返回。 – Redbeard011010

回答

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) 
相关问题