问题点:缺省解决 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最初,DESC降序则排在最前
解决方案:
应用nulls first 或者nulls last 语法
Nulls first和nulls last是Oracle Order by反对的语法
如果Order by 中指定了表达式Nulls first则示意null值的记录将排在最前(不论是asc 还是 desc)
如果Order by 中指定了表达式Nulls last则示意null值的记录将排在最初 (不论是asc 还是 desc)
--将nulls始终放在最初select * from user where age > 18 order by birthday desc nulls last; --将nulls始终放在最前select * from user where age > 18 order by birthday nulls first