Tôi có một truy vấn như thế này:
select id, array_length(users_who_like_ids,1) as ct
from queryables
order by 2 desc;
Nhưng mảng trống (không có phần tử) sắp xếp trên đầu trang. Tôi muốn array_length()
trả về 0 cho trường hợp đó để điều này được sắp xếp xuống cuối.
Tôi có thể không hiểu array_length()
(ok, chắc chắn) nhưng:
embers_dev2=# select array_length(array[1,2], 1), array_length(ARRAY[]::integer[],1);
nên trả về 0 chứ không phải không có gì (NULL), phải không?
Tôi có thể làm một câu lệnh if như nội tuyến trên nó không?
Biên tập
Theo câu trả lời liên quan này trên SO, có vẻ như đó COALESCE
có thể là điều tôi muốn - nhưng tôi cởi mở với những ý tưởng tốt hơn: