作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 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
但请注意,
它会降低 SQL 的可移植性,因为其他 DBMS 可能没有这样的功能
当您的语言列表(或其他排序依据)变得更长时,最好有一个单独的表,其中包含 sortorder 列,并将其连接到您的查询以进行排序。
关于mysql - 如何在 mySQL 中定义自定义 ORDER BY 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9378613/
我是一名优秀的程序员,十分优秀!