sql - 数据集 SQL Server 中不同 ID 的计数
问题描述
这是示例查询:
我想要的是针对每个记录填充每个 RWL 的不同 id 计数。
我想在一个查询中完成,因为我的实际数据集非常大。
create table temp_ayush
(id int,
RWL varchar(10),
cost int)
insert into temp_ayush
values
(1,'ABC',100),
(1,'ABC',200),
(2,'XYZ',300),
(2,'ABC',100)
select *
,count(id) over (partition by RWL)
from temp_ayush
解决方案
而不是按 分区RWL
,而是使用GROUP BY
andCOUNT DISTINCT
代替,如下所示:
select RWL
,count(distinct id)
from temp_ayush
group by RWL
请注意,由于此用途GROUP BY
,您只能选择 group by 子句中包含的列。
如果您需要其他列,我建议在连接中使用上述内容,如下所示:
SELECT RWL,
IdCount,
Cost
FROM temp_ayush
JOIN ( select RWL
,count(distinct id)
from temp_ayush
group by RWL
) T
ON T.RWL = RWL
推荐阅读
- css - 使用 CSS 将文本放置在垂直规则之上
- javascript - 如何在方法中调用的 Promise 中将记录器传递给回调函数?
- python - 为什么我无法在我的数据集上训练 YOLOv5?
- omnet++ - Omnet++ 门索引超出范围
- autodesk-forge - 自动从剖切面生成 2d 视图
- wordpress - 访问 WordPress 管理页面时出现内部服务器错误
- python - 如何在两个一起工作的脚本完成后自动启动脚本?
- gstreamer - 在使用 v4l2loopback 创建的虚拟设备中复制网络摄像头流
- kubernetes - Kubernetes 中的 9P 和 hostPath 挂载有什么区别?
- android - 如何为 Unity android 应用程序添加权限?