gpt4 book ai didi

mysql - SQL ORDER BY 多个字段

转载 作者:行者123 更新时间:2023-12-01 00:41:45 24 4
gpt4 key购买 nike

我有这个问题:

SELECT
id, name
FROM
data
ORDER BY
FIELD(id, 4, 5, 8, 10) DESC,
name

Ids 4, 5, 8, 10 在最上面。到目前为止,一切都很好。但后来我想按 name 排序。这是行不通的。也许 FIELD 已经确定了一个特定的顺序?我可以更改 SQL 以便我仍然可以告诉 SQL 什么 id 应该在最上面(在真/假关系中)但按名称进行最终排序吗?某种枚举?

FIELD(id, 4, 5, 8, 10) 中的 id 来自另一个来源。它们表示在外部源中是否有给定 id 的数据。

最佳答案

您可以使用 ANSI 92 兼容 CASE WHEN像这样。

SELECT
id, name
FROM
data
ORDER BY
CASE WHEN id IN (4, 5, 8, 10) THEN 0 ELSE 1 END ASC,
name

关于mysql - SQL ORDER BY 多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30619066/

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