gpt4 book ai didi

mysql - ORDER BY 两列如果重复

转载 作者:行者123 更新时间:2023-11-29 00:08:29 29 4
gpt4 key购买 nike

我有一个简单的查询:

create table #Test
(
ID INT,
name VARCHAR(100),
num INT
)

INSERT INTO #Test VALUES(1,'bob', 98)
INSERT INTO #Test VALUES(2,'bob', 44)
INSERT INTO #Test VALUES(3,'sam', 60)
INSERT INTO #Test VALUES(4,'deacon', 14)
INSERT INTO #Test VALUES(5,'toby', 99)
INSERT INTO #Test VALUES(6,'toby', 12)

SELECT * FROM #Test ORDER BY num DESC, name DESC

DROP TABLE #Test

这个输出:

ID  name    num
5 toby 99
1 bob 98
3 sam 60
2 bob 44
4 deacon 14
6 toby 12

我想做的是首先按 num 对数据进行排序,但是如果有重复的名称,我希望名称彼此跟随,无论 num 是多少。

我正在寻找的输出是:

ID   name    num
5 toby 99
6 toby 12
1 bob 98
2 bob 44
3 sam 60
4 deacon 14

我的 ORDER BY 有问题,如有任何帮助,我们将不胜感激

最佳答案

试试这个:

SELECT
t.ID,
t.name,
t.num
FROM
#Test t
ORDER BY
(
SELECT
MAX(t2.num)
FROM
#test t2
WHERE
t2.NAME = t.name
GROUP BY
t2.NAME
) DESC

关于mysql - ORDER BY 两列如果重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26393039/

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