1

MySQLテーブルからデータを選択し、それをDECIMAL列順に並べるとDESCENDING、次の順序になります。

3, 2, 1, -1, 0

なんでそうなの?

次のように順序を正しく設定する方法:

3, 2, 1, 0, -1

編集 実際には、問題はNULLデータにあります。これはそれが行う順序です:

3, 2, 1, -1, NULL, NULL

これは望ましい順序です:

3, 2, 1, NULL, NULL, -1
4

3 に答える 3

4

条項で使用COALESCEするORDER BY

SELECT *
FROM tableName
ORDER BY COALESCE(columnName, 0) DESC
于 2012-12-12T06:39:32.063 に答える
0

そのために次の構文を使用します

ORDER BY column DESC
于 2012-12-12T06:41:06.680 に答える
0

nullのある列で並べ替える場合、nullは常に結果の最初または最後になります。ヌルは、ゼロではなく不明を意味します。

それらをゼロとして扱いたい場合ifnull(column, 0)は、selectステートメントで使用できます。

于 2012-12-12T06:46:10.077 に答える