0

我需要从 mysql 数据库中获取一些记录并以特殊顺序对它们进行排序:有些记录有一个特殊的字符串,有些则没有。我需要把那些没有这个特殊字符串的人放在那些有的人之外。有没有办法使用 mysql 之类的

SELECT * FROM mutable ORDER BY col_name, "special string not exists"

还是在没有订单的情况下获得记录后我是否必须在 php 中进行操作?

4

1 回答 1

1

使用解码,您可以将一个值转换为另一个值。

SELECT * FROM mutable ORDER BY col_name, decode(column_with_sepcial_string, "special string", 1, 0)

那些有特殊字符串的人得到 1 作为值,那些没有得到 0 的人(请注意,null值总是会null返回)。当您按升序排列 0 和 1 时,0(没有特殊字符串的那些)高于带有 1(带有特殊字符串)的那些

于 2013-10-23T11:59:29.707 回答