sql - SQL Server - 打印 * 列的不同计数
问题描述
我正在尝试打印所有列“*”,最后它应该将COUNT显示为DISTINCT和GROUP BY SalesPersonID
我用子查询和主查询做了很多测试,但它不起作用
SELECT S.SalesPersonID, COUNT(*)
FROM [AdventureWorks2014].[Sales].Store AS S
GROUP BY S.SalesPersonID
此查询为我提供了准确的计数,但我打算打印更多列,并且一旦我输入另一列,查询将不起作用,我相信它是一个 GROUP BY SELECT 状态。
请问你会怎么做。
解决方案
MySQL 8.0/SQL Server support windowed COUNT(*)
SELECT *,COUNT(*) OVER(PARTITION BY S.SalesPersonID) AS cnt
FROM AdventureWorks2014.Sales.Store AS S
推荐阅读
- listview - 有没有办法从 xamarin 表单列表视图中摆脱突出显示的项目的背景?
- swift - RealityKit arview 快照未捕获 3d 对象
- javascript - wrapper.find 找不到 FormInput(ReactJs + Enzyme
- python - 从具有
我正在寻找使用 BeautifulSoup从网站( https://datagolf.org/performance-table )中提取动态表。但是,当我使用
soup.find()
命令查找表的源代码时,输出中没有任何内容。这是我正在使用的- r - 使用回归模型生成带有扫帚包的预测值
- python - 如果此 id 不存在于另一个表中,如何过滤?
- reactjs - .env.* 文件未在 create-react-app 中获取
- apache-spark - spark.read.parquet 与 pyarrow.hdfs.connect().read_parquet 有什么区别
- javascript - 填充数据
- python - 二维数组非零值的逐行中位数