SQL Server-打印*列的不同计数

SQL Server-打印*列的不同计数,sql,sql-server,tsql,Sql,Sql Server,Tsql,我正在尝试打印所有列“*”,最后它应该显示COUNT为DISTINCT和groupbysalersonid 我已经用子查询和主查询做了很多测试,但都不起作用 SELECT S.SalesPersonID, COUNT(*) FROM [AdventureWorks2014].[Sales].Store AS S GROUP BY S.SalesPersonID 此查询为我提供了准确的计数,但我打算打印更多列,一旦我输入另一列,查询将无法工作,我相信这是一个GROUP BY SELECT St

我正在尝试打印所有列“*”,最后它应该显示COUNTDISTINCTgroupbysalersonid

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

SELECT S.SalesPersonID, COUNT(*) 
FROM [AdventureWorks2014].[Sales].Store AS S
GROUP BY S.SalesPersonID
此查询为我提供了准确的计数,但我打算打印更多列,一旦我输入另一列,查询将无法工作,我相信这是一个GROUP BY SELECT Station


请您怎么做。

MySQL 8.0/SQL Server支持窗口
COUNT(*)


是,但括号(
[]
)不是有效的MySQL语法,它是SQL Server(MSSQL)语法..@RaymondNijland基于数据库名,我95%确定它是SQL Server是的,但是如果你去掉括号,它会突然变成有效的ANSI SQL,并且会在MySQL 8.0和SQL Server上运行,不会出现问题..嘿,我是一个noob lol,我觉得它看起来很酷,所以我用了括号哈哈。无论如何,谢谢你的知识,是的,它非常有效。。。。。从AdventureWorks2014.Sales.Store AS S中选择,COUNT()作为cnt(由S.salersonid划分)。。。。。。。。类型正确吗?您确定您使用的是MySQL而不是SQL Server吗?我将标记改为SQL,以获得更通用的ANSI SQL语句。。括号表示您使用的是SQL Server(MSSQL),而不是@LukaszSzozda已经说过的MySQL。。此外,我建议您阅读并向我们提供文本格式的示例数据和预期结果。。并为我们提供正确的数据库系统。我不明白你要什么。样本数据和预期结果将有所帮助。
SELECT *,COUNT(*) OVER(PARTITION BY S.SalesPersonID) AS cnt
FROM AdventureWorks2014.Sales.Store AS S