mysql - 2 列的复杂订单查询

标签 mysql sorting

在我的 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/

相关文章:

Mysql表超过2000列

php - 从 Google map 获取当前缩放级别

python - 如何将 url 参数作为字符串元组传递给 mysql 查询

c - C 中文件的冒泡排序

mysql - 在同一个查询中获得用户群平均投票和单个用户的投票?

Ruby:连接和排序文件名

java - 自定义比较器,用于对州、县和邮政编码列表进行排序

mysql - PayPal 的 "PNREF"总是 12 个字符吗?

MySQL:通过 MAC 中的终端进行 SSH 连接

java - 对 double 组进行排序