当 "ORDER BY" 在 IFNULL 函数上时,发送空值结束
When "ORDER BY" on an IFNULL function, send nulls to end
以下ORDER BY语句,仅
SELECT * FROM x
LEFT JOIN y ON y.x_id = x.id
ORDER BY IFNULL(x.a, y.a) ASC
我希望所有 NULL 都位于结果列表的末尾。现在他们在顶部。
做一个明确的比较。但是,我不确定 你想成为什么 null
。这是一个猜测:
order by (x.a is NULL and y.a is NULL) desc, coalesce(x.a, y.a)
以下ORDER BY语句,仅
SELECT * FROM x
LEFT JOIN y ON y.x_id = x.id
ORDER BY IFNULL(x.a, y.a) ASC
我希望所有 NULL 都位于结果列表的末尾。现在他们在顶部。
做一个明确的比较。但是,我不确定 你想成为什么 null
。这是一个猜测:
order by (x.a is NULL and y.a is NULL) desc, coalesce(x.a, y.a)