gpt4 book ai didi

mysql - sql根据具有重复值的列选择行,但对它们进行明确的排序

转载 作者:行者123 更新时间:2023-11-29 13:45:44 25 4
gpt4 key购买 nike

我有一个包含这两列的表格

name  |  position
_______________
bob | 1
rob | 1
sam | 1
tom | 2
shyam | 2
ram | 2
shah | 3
sara | 3
shiv | 3
rogue | 4
logan | 4
xavier| 4

我需要按不同的位置排序,但不应删除重复项,最终结果必须类似于

    name  | position
_______________
bob | 1
tom | 2
shah | 3
rogue | 4
rob | 1
shyam | 2
sara | 3
logan | 4
sam | 1
ram | 2
shiv | 3
xavier| 4

我尝试了不同的 position 以及按 position 分组,但都删除了重复项,但我希望将它们分组为行集,以便第一个副本发生然后第二个重复的行发生等。有什么建议或帮助实现它吗?

最佳答案

您需要枚举 position 每个值中的行。然后您可以使用它来订购:

select t.name, t.position
from (select t.*, if(@prev = position, @rn := @rn + 1, 1) as rn,
@prev := position
from t cross join
(select @rn := 0, @prev := -1)
order by position
) t
order by rn

关于mysql - sql根据具有重复值的列选择行,但对它们进行明确的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17438355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com