如何统计重复列对数量并生成对应COUNT列?
统计BUYER与SELLER配对的出现次数
基础分组统计(去重展示每组次数)
用GROUP BY结合COUNT()函数即可实现你的需求,核心是按BUYER和SELLER的组合分组,统计每组的记录数。假设你的表名为transactions,SQL语句如下:
SELECT BUYER, SELLER, COUNT(*) AS COUNT FROM transactions GROUP BY BUYER, SELLER ORDER BY BUYER, SELLER;
GROUP BY BUYER, SELLER:将相同买家-卖家配对的记录归为一组COUNT(*):统计每组内的记录数量,通过AS COUNT指定列名ORDER BY是可选项,用于让结果和你期望的输出顺序一致
保留原表所有行并显示对应配对次数
如果需要在原表的每一行都展示该配对的总次数(而非去重后的分组结果),可以使用窗口函数COUNT() OVER():
SELECT BUYER, SELLER, COUNT(*) OVER(PARTITION BY BUYER, SELLER) AS COUNT FROM transactions;
这里PARTITION BY BUYER, SELLER会按配对分组,窗口函数会为每组内的每一行计算该组的总记录数。
内容的提问来源于stack exchange,提问作者mk6man
相关产品推荐
相关产品推荐

