0

このMySQLクエリがあります:

SELECT
  id,
  title
FROM song
WHERE text IS NOT NULL
    AND title LIKE "%foo%"
ORDER BY title

で始まる foo行が常にそれを含む行の前に来るように、ここで順序を調整する良い方法は何ですか?

つまり、重複することなく、LIKE "foo%"それらをそれらの前に配置したいのです。LIKE "%foo%"

4

1 に答える 1

1

次のようなものを試すことができます。SQL Fiddleで試してみたところ、うまくいきました。

SELECT
  id,
  title
FROM song
WHERE text IS NOT NULL
    AND title LIKE "%foo%"
ORDER BY CASE WHEN title LIKE "foo%" THEN 1 ELSE 2 END, title
于 2013-02-06T20:47:21.153 に答える