gpt4 book ai didi

mysql - 如何让ORDER BY识别出S的值大于A?

转载 作者:行者123 更新时间:2023-11-29 09:32:47 25 4
gpt4 key购买 nike

我想使用 ORDER BY ASCstats 表中的列进行排序。我希望 sql 将 S 识别为大于 A。是否有某种重新分配值的方法?我希望下面的代码打印:“S,A,A,B”,以便 S>A 但其余的都是按字母顺序排列的。 sql新手,谢谢。编辑:我很抱歉,但我忘了包括我试图通过以下方式组织的内容:从统计数据中选择稀有度 ORDER BY 稀有度 ASC;

CREATE TABLE stats (
_name VARCHAR(50) NOT NULL,
refreshingness INT UNSIGNED NOT NULL,
flavor INT UNSIGNED NOT NULL,
chuggability INT UNSIGNED NOT NULL,
rarity VARCHAR(1)CHARACTER SET LATIN1 NOT NULL,
PRIMARY KEY (_name)
);
SELECT rarity FROM stats
ORDER BY rarity ASC;

INSERT INTO stats(_name,refreshingness,flavor,chuggability,rarity)
VALUES("Southern Style Sweet Tea",2,3,3,"S");

INSERT INTO stats(_name,refreshingness,flavor,chuggability,rarity)
VALUES("Raspberry",4,3,4,"A");

INSERT INTO stats(_name,refreshingness,flavor,chuggability,rarity)
VALUES("Iced Tea with Gingseng Zero",4,3,4,"A");

INSERT INTO stats(_name,refreshingness,flavor,chuggability,rarity)
VALUES("Half & Half Pink Tea Lemonade",2,2,2,"B");

最佳答案

这是您的查询。您可以在order by数字上使用case,因为数字始终排在第一位。

SELECT * FROM stats ORDER BY 
CASE WHEN rarity = 'S' THEN 1
ELSE rarity END

参见dbfiddle

关于mysql - 如何让ORDER BY识别出S的值大于A?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58314188/

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