gpt4 book ai didi

mysql - 如何在 mySQL 中定义自定义 ORDER BY 顺序

转载 作者:IT老高 更新时间:2023-10-28 12:50:15 25 4
gpt4 key购买 nike

在 MySQL 中,我如何定义自定义排序顺序。

为了解释我想要什么考虑这张表:

ID  Language    Text
0 ENU a
0 JPN b
0 DAN c
1 ENU d
1 JPN e
1 DAN f
2 etc...

这里我想返回按语言和升序 ID 排序的所有行,以便首先出现 Language = ENU,然后是 JPN,最后是 DAN。

结果应该是:a,d,b,e,c,f 等

这可能吗?

最佳答案

MySQL 有一个方便的函数,叫做 FIELD()这非常适合这样的任务。

ORDER BY FIELD(Language,'ENU','JPN','DAN'), ID

但请注意,

  1. 它会降低 SQL 的可移植性,因为其他 DBMS 可能没有这样的功能

  2. 当您的语言列表(或其他排序依据)变得更长时,最好有一个单独的表,其中包含 sortorder 列,并将其连接到您的查询以进行排序。

关于mysql - 如何在 mySQL 中定义自定义 ORDER BY 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9378613/

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