【问题标题】:Order By with NULL Values Last使用 NULL 值最后排序
【发布时间】:2014-07-20 04:17:06
【问题描述】:

我想简单地按列“名称”对表格进行排序,最后有 NULL 字段。

我试过这个:

SELECT *       
FROM Table 
ORDER BY (CASE
            WHEN Name IS NULL THEN 1 
            ELSE 0 
          END), 
         name

问题是有超过 1 个可为空的列,所以显然上面的代码不能解决问题。

【问题讨论】:

标签: php mysql sql phpmyadmin


【解决方案1】:

您可以使用OR 运算符来连接多个列

order by (isnull(column1) or isnull(column2) or ..)

【讨论】:

  • @Jonhz,你能创建一个演示 sqlfiddle 吗?
  • 我会尝试创建一个 sqlfiddle。我认为另一种解决方案是将所有 NULL 更改为空(“”)。但是我该怎么做呢?
  • 感谢您的帮助,但不完全是我需要的...我想按 A 列和 A 中的所有 NULL 最后排序,如下所示:s28.postimg.org/oemqe1g0d/image.jpg
  • @Jonhz,试试order by isnull(columnA), columnA
  • 哦 maaaaaan 我现在感觉很愚蠢。我之前确实尝试过,但我做错了另一件事...我现在明白了,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-04
  • 2017-04-30
  • 2013-07-12
  • 1970-01-01
  • 2011-01-04
  • 2017-02-22
相关资源
最近更新 更多