查询累计销量排名第二的商品
查询订单明细表中销量排名第二的商品id,如果不存在则返回null,如果存在则返回对应的商品id(多个商品同时满足则返回多个)
Mysql & SqlServer

查询语句:适用Mysql&SqlServer
利用窗口函数 DENSE_RANK() 实现,当出现并列排名时,下一个排名会连续递增。例如,如果有两个并列第 1 名,那么下一个排名将是第 2 名。
SELECT
sku_id
FROM
(
SELECT
sku_id,
DENSE_RANK() over (ORDER BY sku_nums DESC) dr
FROM
(SELECT sku_id, sum(sku_num) sku_nums FROM tb_test1 GROUP BY sku_id) t1) t2
WHERE
dr =2
查询结果:

人生如逆旅
我亦是行人

浙公网安备 33010602011771号