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 に答える