0

id asc、date asc で並べ替えたいのですが、NULL がある場合は、それらの値を最後にします。したがって、以下の例では、1. ID で並べ替え、2. 値が null ではない日付の昇順で並べ替え、3) 日付の昇順で並べ替え、NULL の値を持つ行を最後にリストします。

id  date       value
A12 6/21/2012  125
A12 6/15/2012  NULL
B11 5/28/2011  100
C12 4/23/2012  168

非 null 値をソートせずに、null 値が最後になるように値列を並べ替えるにはどうすればよいですか?

4

2 に答える 2

5

これを試して:

SELECT id, date, value
FROM mytable
ORDER BY id, (CASE WHEN value IS NULL THEN 1 ELSE 0 END), date
于 2012-06-28T01:55:03.387 に答える
1

演算子を使用してUNION、null 以外の値を並べ替えた後、結果セットの下部に NULL 値を追加できます。

SELECT id, date, value
FROM tbl
WHERE value IS NOT NULL
ORDER BY id, date

UNION ALL

SELECT id, date, value
FROM tbl
WHERE value IS NULL
ORDER BY id, date
于 2012-06-28T01:52:14.853 に答える