我需要从mysql数据库中获取一些记录并按特殊顺序对它们进行排序:某些记录有一个特殊字符串,有些则没有。我需要把那些没有这个特殊字符串的人和那些有特殊字符串的人放在一起。有没有办法使用像
这样的mysqlSELECT * FROM mutable ORDER BY col_name, "special string not exists"
或者在没有订单的情况下获取记录后,我是否在PHP中使用它?
答案 0 :(得分: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(带有特殊字符串)的那些