式を使用する
field_c IS NOT NULL
最初のORDER BY
として アイテム。評価は...
FALSE
..NULLの場合TRUE
..NULLでない場合。
そしてFALSE
(0)TRUE
の前に並べ替えます (1)。あらゆるデータ型と可能な値の分布に対して機能します。
SELECT field_a,
row_number() OVER (PARTITION BY field_b
ORDER BY field_c IS NOT NULL, field_c) AS row_number
FROM test_table
ORDER BY row_number;