Sử dụng biểu thức
field_c IS NOT NULL
dưới dạng ORDER BY
đầu tiên mục. Nó đánh giá là ...
FALSE
.. if NULL
TRUE
.. nếu KHÔNG ĐẦY ĐỦ.
Và FALSE
(0) sắp xếp trước TRUE
(1). Hoạt động với bất kỳ loại dữ liệu nào và bất kỳ phân phối giá trị nào có thể có.
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;