使用SQL查找唯一组合及其出现次数的技术求助
解决SQL中获取多列唯一组合及出现次数的问题
嘿,这事儿其实用基础的分组统计就能轻松搞定!你需要用到GROUP BY子句来把Col1和Col2的唯一组合分组,再配合COUNT()函数统计每组的出现次数。
正确的SQL语句
SELECT Col1, Col2, COUNT(*) AS Number FROM mytable GROUP BY Col1, Col2 ORDER BY Col1, Col2;
代码解释
GROUP BY Col1, Col2:这一步会把表中所有Col1和Col2完全相同的行归为一组,直接得到你要的唯一组合。COUNT(*):统计每个分组里包含的行数,也就是这个组合出现的次数,用AS Number给统计结果起一个和你期望结果一致的列名。ORDER BY Col1, Col2:可选的排序步骤,让结果按照Col1和Col2的顺序排列,和你给出的示例结果格式更匹配。
把这段SQL运行在你的数据上,就能得到完全符合预期的结果:
Col1 Col2 Number
A A1 2
A A2 1
B A1 1
B B1 2
内容的提问来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

