选择最大值和另一列

时间:2019-02-11 10:00:30

标签: sql

id    value
2      20
1      30
3      15
5      25  

我有这张桌子,想获取最大值和ID。当我使用select id,max(value)时,我得到了2,30,但正确的答案是1,30。我真的需要引起您的注意。 非常感谢

5 个答案:

答案 0 :(得分:3)

select id, value from `table` order by value desc limit 1

答案 1 :(得分:0)

您可以尝试使用子查询

select * from tablename
where value in (select max(value) from tablename)

答案 2 :(得分:0)

使用子查询

select * 
from t 
where value = (select max(value) from table) 

在@Thorsten注释中,我注意到第一个查询将返回所有具有最大值的联系。

或者如果是mysql,也可以带限制使用order

select *  
from table 
order by value desc 
limit 1

第二个查询将仅返回最高值的单行

答案 3 :(得分:0)

SELECT * 
FROM `tablename` 
WHERE value=(SELECT 
             MAX(value) as value 
             FROM tablename)

您可以检查此查询。根据您的要求给出结果。

答案 4 :(得分:0)

SELECT top 1 id,max(value) FROM table
GROUP BY id
ORDER BY max(value) desc