我有一个名为 sample
的表,有 3 列:id
、kids
和 hobby
记录:
1, John
2, Jacob, Computer Games
3, Joe, Swimming
4, Joan, Basketball
5, Jose
很明显,John 和 Jose 在字段 hobby
中具有空值
我想要查询的是要显示的记录(当排序字段 hobby
ASC 时)
应该是:
4, Joan, Basketball
2, Jacob, Computer Games
3, Joe, Swimming
1, John
5, Jose
(我有代码,其中我单击一个按钮,查询的顺序先升序再降序,反之亦然,每次单击) 如果我想下降,我希望显示记录:
3, Joe, Swimming
2, Jacob, Computer Games
4, Joan, Basketball
1, John
5, Jose
我想知道正确的 ORDER BY
语法。
我的问题说清楚了吗?但愿如此。请帮助:)
最佳答案
数据库不会关注 order by 中的 NULL 值,因此您可以这样做来实现您想要的输出。
SELECT id, kids, hobby
WHERE hobby IS NOT NULL
ORDER BY hobby
UNION
SELECT id, kids, hobby
WHERE hobby IS NULL
关于mysql - 如何查询这个..(对字段进行排序,并将具有空值的行放在最后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34753198/