【发布时间】:2019-09-03 11:23:53
【问题描述】:
Group by 和 Pivot 操作给出不同的计数。
我使用 Group by 来获取 City 的车辆数量,并使用 Pivot 来获取 Make 的车辆数量。
SELECT MAKE, [AMB],[BNG],[CBE],[GBM],[KKE],[OMR],[PDR]
FROM
(
SELECT MAKE, BRANCH, COUNT(DISTINCT [VEH NO]) [VEHICLE COUNT]
FROM MAKE_MODEL_DESCRIPTION
GROUP BY MAKE, BRANCH
) X
PIVOT
(
SUM([VEHICLE COUNT]) FOR BRANCH IN ([AMB],[BNG],[CBE],[GBM],[KKE],
[OMR],[PDR])
) AS PVT
我得到的上述 Pivot 查询的总数是 150。
select BRANCH, COUNT(distinct [VEH NO])
from MAKE_MODEL_DESCRIPTION
group by BRANCH
我得到的上述 GROUP BY 查询的总数是 140。
鉴于它们来自相同的数据源,它们不应该是相同的数字吗? 谁能告诉我哪里出错了。
【问题讨论】:
标签: sql sql-server group-by pivot