sql - 增量计数
问题描述
我有一个包含客户编号和订单日期列表的表格,并希望对每个客户编号添加计数,每次客户编号更改时从 1 重新开始,我已将表格排序为客户,然后是日期顺序,需要添加订单计数列。
CASE WHEN 'Customer Number' on This row = 'Customer Number' on Previous Row then ( Count = Count on Previous Row + 1 )
Else Count = 1
解决这个问题的最佳方法是什么?
客户中的客户和日期,然后是日期顺序:
Customer Date Count
0001 01/05/18 1
0001 02/05/18 2
0001 03/05/18 3
0002 03/05/18 1 <- back to one here as Customer changed
0002 04/05/18 2
0003 05/05/18 1 <- back to one again
我刚刚尝试过COUNT(*) OVER (PARTITION BY Customer ) as COUNT
,但由于某种原因,当客户更改时,它似乎不是从 1 开始的
解决方案
很难说出您想要什么,但是“对每个客户编号添加计数,每次客户编号更改时从 1 重新开始”听起来好像您只是想要:
count(*) over (partition by customer_number)
或者这应该是该行日期的“最多”计数:
count(*) over (partition by customer_number order by order_date)
推荐阅读
- javascript - 列出具有特定角色的用户 (discord.js v12)
- javascript - 谷歌距离地图,从给定地址/Lat,Lng 和自定义标记的最短路径,一个是默认选择当前位置,一个是自定义
- r - R上的重塑函数
- arm - QEMU 找不到设备“nvme”的“PCI”总线
- python - 数据框附加多个 CSV 文件问题
- python - strtok() 更改我的缓冲区,我需要存储一些在任意时间更改的数据,我该怎么做?
- c++ - 删除第一个、第二个、最后一个或倒数第二个字符 K 后的最小词典字符串
- docker - 多个 docker 守护进程可以在不同的计算机上使用相同的位置,这些计算机具有相同的存储磁盘?
- javascript - 根据 div 编号自动创建新页面
- powershell - 我们如何访问 PowerShell 中的共享文件夹,我需要将文件从共享文件夹复制到本地计算机,反之亦然