在 ORDER BY 的时候,默认将NULL排在最前面,我们要将他们排到后面去。
ORDER BY col IS NULL, col DESC
或者加一个为空的判断,就能主动控制往前排还是往后排。(IFNULL参数1为空返回参数2)
ORDER BY IFNULL(col, 0) DESC, col DESC
或者(ISNULL参数1为空返回1,不为空返回0)
ORDER BY ISNULL(col) ASC, col DESC
或者(IF参数1为真返回参数2,为假返回参数3)
ORDER BY IF(ISNULL(col), 0, 1) DESC, col
效率比较
IFNULL() > IS NULL > ISNULL()