2008.2.27 追記
コメントで教えていただきました下記方法で簡単にできました。
is null asc の指定と 通常の asc の指定をするのがポイントですね。

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

—–追記ここまで—–

MySQL で昇順にソートすると NULL は一番最初に来ます。
それを最後にできないかということで下記のようなSQL を考えてみました。

SELECT
  id,
  comment,
  CASE WHEN comment IS NULL
    THEN 10000
    ELSE ASCII(LEFT(comment,1))
  END AS dummy
FROM table
ORDER BY dummy ASC, COMMENT ASC

comment カラムを昇順でソートして、NULL の場合は一番最後に NULL がきます。
あまりスマートな方法ではないのですが、これで取り合えず NULL を最後にして昇順でソートするということができました。

ORACLE とかだと下記のように簡単にできますね。
ORDER BY comment ASC NULL LAST

NULLS FIRST
NULL 値を順序の最初にするソートを行なう
NULLS LAST
NULL 値を順序の最後にするソートを行なう

関連する投稿