项目有个需求要获取用户销售额的排名,于是在 mysql 实现,但是当销售额都等于 0 的时候,排序是很不稳定的,每次获取都不一样,有什么好的解决方法呢
SELECT
pos AS sort,
amount,
user_id AS userId
FROM
(
SELECT
rank.*,@rank :=@rank + 1 AS pos
FROM
(
SELECT
user_id,
sale_amount amount
FROM
store
UNION
SELECT
user_id,
amount
FROM
store_rank
ORDER BY
amount DESC
) rank,
(SELECT @rank := 0) B
) c
WHERE
user_id = 1015228275321995264 ;
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.