在where子句中使用max

时间:2014-03-20 14:12:09

标签: mysql sql

对于我需要根据特定字段的最大值显示整个元组的特定查询,为此我需要使用max at where子句,我该如何使用它?现在我通过限制1实现了相同的目标

select * from  
  (select count(some_field) as field1 ..........order by field1 desc) as kil 
limit 1

2 个答案:

答案 0 :(得分:1)

试试这个:

select * from some_table
where field1 = (select max(field1) from some_table)

请注意,原始查询将返回一行,但如果有多个行共享相同的最大值,则此查询可能会返回多行。要复制相同的行为,您仍然需要在此查询的末尾添加limit 1

答案 1 :(得分:0)

我不是精通mysql,但在SQL服务器中你可以这样做..

SELECT 
  * from 
table A
where col1=(select max(col1) from table B where A.id=B.id)

对于Count,你可以做到

SELECT 
    col1
    , col2  from 
    table A
group by 
col1
, col2
Having count(*)>1