Mysql 按 y 列的字母顺序排列所有具有 null x 列的行,然后按 y 列的字母顺序排列所有没有 null x 列的行

标签 mysql sql null

我想按 y 列的字母顺序对 x 列中没有值的所有行进行排序,然后按 y 列的字母顺序对 x 列中具有非空值的所有行进行排序。我该怎么做?

例子

_x____|_y_  
null  | d  
null  | e  
null  | f  
apple | a  
peas  | b  
carrot| c 

最佳答案

你可以这样做

SELECT *
  FROM table1
 ORDER BY (x IS NULL) DESC, y

输出:

|      X | Y |
|--------|---|
| (null) | d |
| (null) | e |
| (null) | f |
|  apple | a |
|   peas | b |
| carrot | c |

这是 SQLFiddle 演示

关于Mysql 按 y 列的字母顺序排列所有具有 null x 列的行,然后按 y 列的字母顺序排列所有没有 null x 列的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18516047/

相关文章:

PHP - 在 $_SESSION 数组中找不到现有的字符串值

android - 为 sql db 创建多个表(a-z 表)

sql - 在哪里可以获得 SQL Server 2008 的英语同义词库文件?

c - 当接收到 null-but-not-0 和 0-but-not-null 指针时,如何测试代码的行为?

c# - 什么是NullReferenceException,我该如何解决?

mysql - 使用具有不同特征的 GroupBy 的 Laravel 查询

php - 使用 EZPDF 通过 PHP 从 Mysql 导出时如何使表响应

MySQL 将表 A 中的 1 条记录与表 B 中的多条记录连接为单行

SQL Server删除含有 "duplicate"数据的行

oracle - Oracle 'NOT LIKE' 表达式是否不返回 NULL?