2010-11-24 10 views
0

Where句にソート順を追加する方法はありますか?WHERE CLAUSEによってDB2 SQL結果をソートする

私は最後のwhere句は、最も関連性の高いもので、検索ボックスにどのようなエンドユーザーの入力の関連性で検索したい例

SELECT * 
FROM media 
WHERE media_title LIKE 'query' 
OR media_title LIKE 'query string' 
OR media_title LIKE 'query string to search for' 

については

答えて

3
SELECT * 
FROM media 
WHERE media_title LIKE 'query' 
    OR media_title LIKE 'query string' 
    OR media_title LIKE 'query string to search for' 
ORDER BY case 
    when media_title LIKE 'query' then 1 
    when media_title LIKE 'query string' then 2 
    when media_title LIKE 'query string to search for' then 3 
end 
0

私は、このバージョンはより速く、もっと読みやすいかもしれないと思う:

SELECT * 
FROM media 
WHERE media_title IN ('query', 
         'query string', 
         'query string to search for') 
ORDER BY case 
    when media_title = 'query'      then 1 
    when media_title = 'query string'    then 2 
    when media_title = 'query string to search for' then 3 
    end 
関連する問題