有碰到多个人多个时间多条信息,求每个人去的最频繁的机构。
一开始试了相当于建很多个临时表的方法,后来问了别人,知道了row_number() over(partition by cust_no,cishu order by cishu desc) 专门针对这种排序,可以给每个人到每个机构的次数做一个排序,然后我们取排序值为1的即可。
又想到一个问题,如果这个人去两个甚至三个无数个机构的次数都相同,那么这个方法只能取到其中一个记录。偶然间看到有一个rank()函数,可以进行并列排序,取到的值再进行拼接,则可以输出多个并列第一的记录。
sql中的分区排序
最新推荐文章于 2024-08-15 15:59:36 发布