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

如何实现按相同字段分组并添加计数字段的SQL查询?

解决重复组合分组统计的SQL方案

嘿,这事儿好办!你遇到的是典型的分组统计需求,咱们用GROUP BY配合聚合函数就能轻松搞定。

首先,你的原查询返回了重复的market_details_id和commodity_details_id组合,要统计每组的行数,对应的SQL可以这么写:

SELECT 
  MD_CD.market_details_id, 
  MD_CD.commodity_details_id, 
  COUNT(*) AS counter
FROM MarketDetails_CommodityDetails AS MD_CD
GROUP BY MD_CD.market_details_id, MD_CD.commodity_details_id

简单拆解下逻辑:

  • GROUP BY market_details_id, commodity_details_id:把这两个字段值完全匹配的行归为同一组,重复的组合会被自动合并。
  • COUNT(*) AS counter:统计每组包含的总行数,用counter作为统计字段的别名,正好对应你想要的输出列。

如果你的数据库对GROUP BY有严格的字段匹配要求(比如某些SQL模式下),这个语句也完全符合规范——SELECT里的非聚合字段都已经包含在GROUP BY列表里了。

执行这个查询后,就能得到你期望的结果:每个唯一的market_details_id+commodity_details_id组合占一行,counter字段会显示该组合出现的次数,比如你提到的market_details_id=12、commodity_details_id=42就会显示counter=2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:30:54