gpt4 book ai didi

SQL 自定义顺序按子句

转载 作者:行者123 更新时间:2023-12-04 23:53:26 28 4
gpt4 key购买 nike

一个快速的问题。我有一个查询带回 2 列“描述”和“金额”
在描述中,我们有 3 个结果。

“黄金拥有”、“青铜 - 无地”和“白银 - 确定/提供”

我希望结果按以下顺序显示
金、银、铜

Order By Asc 或 Desc 不能实现这一点。有没有办法自定义 Order by 子句?

对此有任何帮助将不胜感激,谢谢
生锈

最佳答案

内部 CASE ,您可以为每个分配一个数值并按升序排列。如果您需要查询大表,请考虑在 Description 上添加索引。以提高排序性能。

ORDER BY
CASE
WHEN Description = 'Gold - owned' THEN 0
WHEN Description = 'Silver - identified / offered' THEN 1
WHEN Description = 'Bronze - no land' THEN 2
ELSE 99 /* Any other value (which you should not have) sorts after all */
END ASC /* And don't forget to be explicit about ASC order though it's the default */

因为这就像 ORDER BY 中的普通列一样工作, 如果您需要按 Amount 排序或其他列,它可以附加一个逗号。
ORDER BY 
CASE
WHEN Description = 'Gold '...
END ASC,
Amount DESC,
AnotherColumn ASC

关于SQL 自定义顺序按子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23909406/

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