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

MySQL统计字符串出现次数丢失数据?是查询还是数据库问题?

问题分析与解答

问题原因

这是查询语句的逻辑问题,和MySQL本身无关。

你的查询使用了group by item, name,这表示MySQL会按照item与name的组合值进行分组统计。查看结果中两条24050506S的记录,它们的name分别是DC-STD-01和DC-STD-02,属于不同的组合,因此会被拆分为两个独立分组,各自统计出count为1。

解决方法

若要统计每个item的总重复次数,只需将group by子句修改为仅按item分组即可:

SELECT
  count(item),
  item,
  MAX(name) AS representative_name, -- 如需展示name,用聚合函数取一个代表值
  area
FROM jmr
WHERE starttime LIKE '2024-05-03%' and area='DC'
GROUP BY item, area; -- 因where已限定area为DC,也可仅写GROUP BY item

修改后,24050506S的两条记录会被合并统计,count结果将显示为2。

注意:若你的MySQL启用了默认开启的ONLY_FULL_GROUP_BY模式,select列表中的非聚合列必须出现在group by中,或用聚合函数包裹。上述语句中用MAX(name)获取该item对应的一个name值,你也可根据需求使用MIN(name)等其他聚合函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 09:16:05