首页 > 解决方案 > SQL Server - 打印 * 列的不同计数

问题描述

我正在尝试打印所有列“*”,最后它应该将COUNT显示为DISTINCTGROUP BY SalesPersonID

我用子查询和主查询做了很多测试,但它不起作用

SELECT S.SalesPersonID, COUNT(*) 
FROM [AdventureWorks2014].[Sales].Store AS S
GROUP BY S.SalesPersonID

此查询为我提供了准确的计数,但我打算打印更多列,并且一旦我输入另一列,查询将不起作用,我相信它是一个 GROUP BY SELECT 状态。

请问你会怎么做。

标签: sqlsql-servertsql

解决方案


MySQL 8.0/SQL Server support windowed COUNT(*)

SELECT *,COUNT(*) OVER(PARTITION BY S.SalesPersonID) AS cnt
FROM AdventureWorks2014.Sales.Store AS S 

推荐阅读