sql - 如何创建滚动总计字段?
问题描述
我正在尝试创建客户在特定时间段内下达的订单数量的滚动总数,按日期排序。
我尝试使用分区函数,但下面的查询没有产生正确的结果。任何帮助,将不胜感激
select
CustomerID
, Order ID
, COUNT(OrderID) OVER (PARTITION BY CustomerID ORDER BY OrderDate) RunningOrderCount
from #existingtable
我希望结果是一个包含所有客户 ID、所有相应订单 ID 的表格,然后是一个包含订单计数的字段,例如......
CustomerID OrderID OrderCount
1234 5675 1
1234 5676 2
1234 5677 3
1234 5678 4
1234 5679 5
解决方案
我认为你正在寻找的是ROW_NUMBER()
SELECT
CustomerID
, OrderID
, ROW_NUMBER() OVER (PARTITION BY CustomerID ORDER BY OrderDate) RunningOrderCount
from #existingtable
推荐阅读
- python - Python如何展平json文件,如json_normalize
- python - 如何能够导入谷歌驱动器文件夹中的每个文件?
- reactjs - React 项目结构的最佳实践?
- python - 使用 Blender API 保存 .3ds 或 .obj 文件
- hyperledger-fabric - Fabric make error etcd:不包含包 go.etcd.io/etcd/etcdserver/api/snap
- reactjs - 在没有外部依赖的情况下反应本机去抖钩子
- c# - 带有 id 的 ASP.NET WebAPI 2 版本控制 POST
- c# - 在 C# .NET Core 中检查文件权限
- xcode - 如何快速访问其他类中的变量?
- mongodb - mongodb - 集合的唯一字段覆盖文档