【MySQL】NULL、空白の並び順を(最後に)変える | 名古屋ではたらくWEB屋のブログ

名古屋ではたらくWEB屋のブログ

名古屋を拠点にWEBシステム開発(受託)を行っております!!
お仕事承ります。

PHP,MySQL,EC-CUBE,WordPress

1.NULLの場合

SELECT
  id,
  comment
FROM table
ORDER BY comment IS NULL ASC, comment ASC;

2.空白('')の場合

SELECT
  id,
  comment,
  IF ((comment = ''), 1, 0) AS dummy
FROM table
ORDER BY dummy ASC, COMMENT ASC
SELECT
  id,
  comment,
  CASE WHEN comment = ''
    THEN 1
    ELSE 0
  END AS dummy
FROM table
ORDER BY dummy ASC, COMMENT ASC


※ちなみに、ORACLEだと
 NULLS FIRST:NULL 値を順序の最初にするソートを行なう
 NULLS LAST :NULL 値を順序の最後にするソートを行なう
 を、ORDER BY 句に指定できます。


※以上、ほぼパクリ です。