2016-06-22 3 views
1

私は以下のリンクの質問に似たクエリを持っています。mysqlのようなクエリとsortbyの位置の文字

https://dba.stackexchange.com/questions/60137/mysql-is-it-possible-to-order-a-query-by-a-specific-letter-using-order-by?newreg=c7d05bbfb2db401082ff650715882016

問題は、クエリに関係なく、検索用語のすべての行を返す、ということです。私はDから始まるpnameを取得するだけでなく、Dを持たないすべてのものでさえ、結果はその結果の先頭に 'D'のような開始文字を持つ行があるということです。どうすればそれを避けることができますか?あなたは、検索フィールドがDで始まるすべての行を一覧表示したい場合は、単に

.. 
WHERE my_field LIKE 'D%' 

答えて

2

は、あなたがこのような何かを試してみましたが、追加

-1

(あなたはmentionnedている記事による):

SELECT 
     pname, pdescription, price 
    FROM 
     products 
    WHERE pname LIKE '%D%' 
    ORDER BY 
    CASE 
     WHEN pname LIKE 'D%' THEN 1 
     ELSE 2 
    END; 

WHERE

+0

WHERE my_field LIKE '%D%' 'を検索したいが、結果の先頭に「D」で始まる結果が欲しい。 –

+0

ただし、場所を追加すると、「D」で始まるもの以外の結果は表示されません。 – Jonny

関連する問題