Mysql 在where子句中使用max
对于需要基于特定字段的最大值显示整个元组的特定查询,我需要使用max at where子句,如何使用它?现在,我通过限制1实现了同样的目标Mysql 在where子句中使用max,mysql,sql,Mysql,Sql,对于需要基于特定字段的最大值显示整个元组的特定查询,我需要使用max at where子句,如何使用它?现在,我通过限制1实现了同样的目标 select * from (select count(some_field) as field1 ..........order by field1 desc) as kil limit 1 试试这个: select * from some_table where field1 = (select max(field1) from some_t
select * from
(select count(some_field) as field1 ..........order by field1 desc) as kil
limit 1
试试这个:
select * from some_table
where field1 = (select max(field1) from some_table)
请注意,原始查询将返回一行,但如果有多行共享相同的最大值,则此查询可能返回多行。要复制相同的行为,您仍然需要在查询的末尾添加
limit 1
。我不太熟悉mysql,但在SQL server中,您可以这样做
SELECT
* from
table A
where col1=(select max(col1) from table B where A.id=B.id)
为了计数,你可以做
SELECT
col1
, col2 from
table A
group by
col1
, col2
Having count(*)>1
您的查询的主要问题是什么?演出结果不正确?有没有其他更好的方法来达到同样的效果,我的意思是提高性能@JoachimIsaksson相信你想要拥有。在你的内部查询中是否有
分组依据?您可能需要显示内部查询的更多详细信息,以便有机会对其进行优化。也许,您应该显示示例数据,以及要返回的行,并解释原因。内部查询需要使用类似选择计数(某些字段)作为字段1
@Bohemian@AmrithKrishna为什么?你想干什么?还是希望另一列中每个值的最大行数?