【发布时间】:2019-07-31 21:49:20
【问题描述】:
我正在尝试构建一种密集等级的功能,但不完全是密集等级。我想对每个组进行排名,但在每个组中,我想保持相同值的排名相同。我编写了以下查询,它为我提供了密集等级的功能
SELECT id, item_code
@curRank := @curRank + 1 AS rank
FROM table t, (SELECT @curRank := 0) r
WHERE <several filters>
然而,我想要这个
我找到的最接近的问题是这个MySQL give a rank to each group
请帮忙。
【问题讨论】:
-
您使用的是什么版本的 MySQL,如果您还没有使用,是否有机会升级到 MySQL 8+?
-
另外,对于
1803id 组,为什么131677排在33373之前? -
你的mysql版本是多少?
-
@TimBiegeleisen 我正在使用版本,有可能移至 8,但未确认。我知道版本 8 具有排名功能。其次,item_code 列的顺序并不重要,因为代码并不总是数字
标签: mysql sql group-by window-functions dense-rank