当 "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)