SQL每日一题1.13

每日一题系列

需求:

 

如上图所示,如果order_id都是同样的话,按照item_sku_id排序,而且只能有一个order_id

解析:

增加一个排序列,使得变成下面的格式(以10001为例子)

        order_id item_sku_id rn

        10001 90001 1

        10001 90002 2

        10001 90003 3

如何将上面的格式变成下面的格式

order_id         item_sku_id

10001                 90001

90002

90003

先增加一个排序列,然后加一个case when。如果rn=1则为本身,否则为null

select case when c.rn = 1 then order_id else " " end order_id, 
item_sku_id 
from 
(select order_id,item_sku_id, row_number() over(partition by order_id order by item_sku_id) rn from 表) c

 总结:

接下来会每天更新不同类型的sql技巧以及题目。


版权声明:本文为weixin_46300771原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。