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