我有一个带有以下列的sql表 OrderNo,GroupNum,ShipMethod,TrackingNo
我想找到同一个groupnum有多个'ShipMethod'的订单数量?
样本记录应该是:
Order123 1 DHL
Order123 2 DHL1
Order123 2 Fedex
然后我需要得到结果表明2或如果可能的输出如下:
OrderNumer GroupNum Count
---------- ------- -----
Order123 2 2 (Because 2 shipmethods)
答案 0 :(得分:4)
按照您想要唯一的列进行分组,使用count()
来计算每个群组,并使用having
将输出限制为仅限相关群组
select ordernum, groupnum, count(*) as cnt
from your_table
group by ordernum, groupnum
having count(*) > 1
答案 1 :(得分:0)
如果我理解正确:
select OrderNumer, groupnum, count(*)
from t
group by OrderNumer, groupnum
having count(*) > 1;
如果您想要计算不同的值而不是行数,您可能还需要count(distinct shipmethod)
。