【发布时间】:2018-03-16 19:56:18
【问题描述】:
我有一个返回以下值的查询:
TemplateCode Total
1418 35
7419 31
7418 31
8325 17
15623 17
4997 17
我想要前 3 个 Total 值的所有行
在我的查询中,如果我在查询中包含LIMIT 3,那么它只会给出我不想要的 3 个。我不想包含LIMIT,因为计数可能会不时发生变化。
如何在Total 上包含条件并始终获得前 3 个计数值
我当前的查询是这样的:
select TemplateCode, count(*) as Total from table group by TemplateCode
order by Total desc
limit 3
【问题讨论】:
-
select * from table group by TemplateCode请不要使用这样的结构。ONLY_FULL_GROUP_BY -
您要求获得前 3 个最大的数字吗?如果是,那么只需在当前查询上使用 MAX() ,这将为您提供所需的结果。 (如果那是您所要求的)
-
如何在命令中使用
max()? -
你想要什么结果集?
-
您的预期结果是什么?