gpt4 book ai didi

mysql - 如何使用迭代对(非标准)mysql 数据进行排序?

转载 作者:行者123 更新时间:2023-12-01 00:54:35 27 4
gpt4 key购买 nike

我有数据列:

id  name  type  number
1 n1 t1 num1
2 n2 t1 num2
3 n3 t1 num3
4 n10 t1 num10

5 n4 t2 num4
6 n5 t2 num5
7 n6 t2 num6

8 n7 t3 num7
9 n8 t3 num8
10 n9 t3 num9

我应该运行哪个选择来获得这个结果?

id  name  type  number
1 n1 t1 num1
5 n4 t2 num4
8 n7 t3 num7

2 n2 t1 num2
6 n5 t2 num5
9 n8 t3 num8

3 n3 t1 num3
7 n6 t2 num6
10 n9 t3 num9

4 n10 t1 num10

我想使用过程可能是正确的方法,但是否可以在简单查询中对其进行排序?

更新 1:名称、类型和编号列是独立的。正如您在结果示例中看到的那样,我需要按类型对其进行排序。

最佳答案

  SELECT x.id,x.name,x.type,x.number
FROM (SELECT t.id,
t.name,t.type,t.number,
CASE
WHEN @type != t.type THEN @rownum := 0
WHEN @type = t.type THEN @rownum := @rownum + 1
ELSE @rownum
END AS rank,
@type := t.type
FROM scores t,
(SELECT @rownum := 0, @type)var
ORDER BY t.type) x
ORDER BY x.rank, x.type

SQL FIDDLE HERE

关于mysql - 如何使用迭代对(非标准)mysql 数据进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12296115/

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