我有一个表,表中列有customer、order、fruit和quantity,按customer和order排序。
我需要按顺序分配示例所需的组号值,从1开始,分配相同的值直到水果改变,然后为下一个水果增加1,当客户改变时重置回1。
我绞尽脑汁想出了一个解决方案,使用滞后,排名或行号窗口函数,但仍然难以捉摸。建议?!?!
Customer Order Fruit Qty DESIRED GROUP NUMBER
-------- ----- ----- --- --------------------
A 1 Apple. 5 1
A 2 Apple. 4 1
A 3 Apple. 6 1
A 4 Banana. 4 2
A 5 Orange. 1 3
A 6 Orange. 9 3
A 7 Apple. 9 4
A 8 Apple. 3 4
B 1 Banana. 6 1
B 2 Banana. 5 1
B 3 Apple. 4 2
1条答案
按热度按时间k10s72fa1#
它可以通过加窗求和和和滞后来实现:
db<>小提琴演示