如何在SQL Server中获取满足多个标准的记录数?

问题描述 投票:2回答:2

我有一个带有以下列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)
sql sql-server
2个回答
4
投票

按照您想要唯一的列进行分组,使用count()获取每个组的计数并使用having将输出限制为仅限于相关组

select ordernum, groupnum, count(*) as cnt
from your_table
group by ordernum, groupnum
having count(*) > 1

0
投票

如果我理解正确:

select OrderNumer, groupnum, count(*)
from t
group by OrderNumer, groupnum
having count(*) > 1;

如果要计算不同的值而不是行数,您可能还需要count(distinct shipmethod)

© www.soinside.com 2019 - 2024. All rights reserved.