| zhixin 的个人资料MYspace.com照片日志列表 | 帮助 |
|
7月28日 sql 重复项计数查询有一个报名表【SpecialEngage_UserSignInfo】。表结构:idx username, truename.. (username 为报名的卖家名称)
有一个订单记录表【sale_orderlist 】。 表结构: idx username, ptaccount... (username为卖家名称,ptaccount 为买家帐号)
要查询所有报名的人在订单记录表中不重复交易的买家帐号的数量。
知道要用group by,不过一下子到没写出来。于是google,网上到有不少类似的问题。
最后这样搞定:
select username, count(*)as [TotalBuyerCount]
from (SELECT DISTINCT ol.ptaccount,usi.username FROM SpecialEngage_UserSignInfo usi,sale_orderlist ol where usi.username=ol.username) tb group by username 解释一下:
内部子查询是获得不重复的订单记录条数
而后在外部按卖家名字分组,再使用count聚合获得每组的数量。
最终返回的是username,不重复买家帐号的数量。
--------------------------------------
username TotalBuyerCount
chenlineng20052 8
chenlineng2041 1 fhgamezonetest 15
--------------------------------------
以下为网咯上的部分资料:
一:不重复记录统计数量的方法
方法1:SELECT COUNT(*) AS BrandCount FROM (SELECT DISTINCT BrandID FROM Dealer_Product WHERE Status>=100 AND DealerID=10129) TB 方法2: SELECT COUNT (DISTINCT BrandID) FROM Dealer_Product WHERE Status>=100 AND DealerID=5105 整合以上SQL的格式大致如下: 方法1:SELECT COUNT(*) FROM (SELECT DISTINCT ColName FROM Table1) tb 方法2:SELECT COUNT(DISTINCT ColName) FROM tb |
|
|