You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL如何统计字段值出现次数并按次数降序取前3条结果

错误原因

你写的SQL存在两个核心问题:

  1. 仅用DISTINCT没有搭配GROUP BY分组,COUNT(name)会统计全表的总记录数,而非每个name的出现次数
  2. 表名书写错误:你实际的表名为places,SQL里写的是place

正确SQL语句

SELECT name, COUNT(*) AS occurrence_count
FROM places
GROUP BY name
ORDER BY occurrence_count DESC
LIMIT 3;

逻辑说明

  • 用GROUP BY name对相同name的记录自动分组,天然返回去重后的name值,无需额外加DISTINCT
  • COUNT(*)统计每个分组内的记录数,即对应name的出现次数
  • 按统计得到的出现次数降序排序,最后用LIMIT 3截取前三条结果,和你期望的输出完全匹配

内容的提问来源于stack exchange,提问作者JAT86

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 15:57:03