在我的 MySQL 5.5 数据库中,我有一个商业表,我需要首先使用 Logo 列( Logo 条目不为空<的行)进行排序/strong> 首先),同时使用 标题 列按字母顺序对这些行进行排序。
我需要的结果是这样的:
| Logo | Title |
| --- | ------ |
| img | ATitle |
| img | BTitle |
| img | CTitle |
| ... | ... |
| NULL | ATitle |
| NULL | BTitle |
| ... | ... |
我已经尝试过这个查询:
SELECT * FROM commerces ORDER BY logo DESC, title ASC
但是这个查询似乎对整个列表进行排序,不区分 Logo 不为空或为空。
所以我的问题是,唯一查询中是否有解决方案可以根据需要对我的行进行排序?
提前谢谢
最佳答案
您在 order by 中使用 IS NULL 编写 sql 查询。
SELECT * FROM user ORDER BY name IS NULL, name ASC
请参阅以下链接了解更多信息。
https://www.designcise.com/web/tutorial/how-to-order-null-values-first-or-last-in-mysql
关于mysql - 2 列的复杂订单查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60072734/