SQL统计指定列值出现次数:如何实现同组重复值仅计数1次
SQL修改方案
你可以直接将原来的count(*)替换为COUNT(DISTINCT "Group")即可实现需求:
SELECT text, COUNT(DISTINCT "Group") FROM table GROUP BY text
注:
Group属于SQL保留关键字,实际执行时建议根据你使用的数据库做对应转义:MySQL使用反引号包裹`Group`,PostgreSQL使用双引号包裹"Group",SQL Server使用方括号包裹[Group]。
结果验证
对应你给出的示例表,执行上述SQL后的结果为:
| text | count |
|---|---|
| A | 1 |
| B | 2 |
| C | 1 |
完全符合计数规则:同一Text在同一个Group下重复出现仅计1次。
内容的提问来源于stack exchange,提问作者J01
相关产品推荐
相关产品推荐

