每日一题系列
需求:

如上图所示,如果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版权协议,转载请附上原文出处链接和本声明。