按从最高购买频率到低购买频率的顺序验证每个客户的给定排名?

w46czmvw  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(301)

下面的表的sql查询可以是什么?
我需要验证该表,如果它给了正确的排名,所有客户对客户项目的频率从高到低。
例如
对于客户1。

Cust   Rank    ItemFrequency
1        1           10
1        2           8
1        3           7
2       1           11
2       2            2
2       3            1

所以,我需要查询来验证它是否有rank to valid itemfrequecy to desc order
2小时前更新:如果
如果数据顺序正确,则返回空结果。
如果顺序不对,只把那些拿出来

9avjhtql

9avjhtql1#

如果您想得到的行的东西是不一致的,使用 lag() :

select t.*
from (select t.*, lag(itemfrequency) over (partition by cust order by rank) as prev_if
      from t
     ) t
where prev_if < itemfrequency;

相关问题