You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:MySQL统计表中各topicID重复出现次数的SQL语句

统计每个topicID的重复出现次数

嘿,这事儿不难搞定,用MySQL的GROUP BY搭配聚合函数COUNT()就能完美实现你的需求。

直接能用的SQL脚本

SELECT topicID, COUNT(*) AS numberOfTime
FROM your_table_name  -- 记得把这里替换成你实际的数据表名称哦
GROUP BY topicID
ORDER BY topicID;

给你拆解下逻辑:

  • COUNT(*):专门用来统计每个分组里的记录条数,也就是每个topicID重复出现的次数
  • GROUP BY topicID:把表中所有记录按topicID分组,相同topicID的会被归到一组,这样才能单独统计每组的数量
  • AS numberOfTime:给统计出来的次数列起一个和你期望结果一致的别名,方便查看
  • ORDER BY topicID:这是可选的,加上它能让结果按topicID从小到大排序,看起来更规整

用你的测试数据跑出来的结果

刚好匹配你想要的格式(不过注意哦,你提供的测试数据里topicID=3只出现了2次,所以结果里是2不是3~):

topicIDnumberOfTime
14
22
32

如果之后需要限定统计范围,比如只统计某一天的数据,再加个WHERE条件就行,比如:

SELECT topicID, COUNT(*) AS numberOfTime
FROM your_table_name
WHERE date = '2018-11-11'
GROUP BY topicID
ORDER BY topicID;

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

火山引擎 最新活动