ホームページ  >  記事  >  バックエンド開発  >  orの2文SQLでデータをlikeの順に並べるにはどうすればいいですか?

orの2文SQLでデータをlikeの順に並べるにはどうすればいいですか?

WBOY
WBOYオリジナル
2016-06-23 14:05:301034ブラウズ

名前 LIKE "%A%" または時間 LIKE "%b%"

Like A の結果を並べ替えてから B の結果を並べ替えるにはどうすればよいですか?


ディスカッションへの返信 (解決策)

...if(instr(name,'A') >0,1,0) desc で並べる

...if(instr(name, 'A') >0,1,0) desc
兄弟、完全な文例はありますか?この文の半分も理解できません!

この半分の文で十分理解できます
つまり、「A」を含む文字列を検索し、0,1に変換し、01に従ってソートします。これを含むものは1となり、含まれるものは1になります。含まれていない場合は 0 になります
最終的なソートは if (instr(name,'A') >0,1,0) desc で並べ替えます

この半分の文で十分理解できます
つまり、文字列を検索します「A」を含むものを0,1に変換し、01に従ってソートします。含まれていれば1、含まれていない場合は0になります
最終的なソートはif(instrによる順序です) (name,'A') >0,1,0) desc

私が望む実際の配置結果は、おおよそ次のステートメントです。 2 つの括弧内のデータを並べ替えるには、最初に最初の括弧を並べ替え、次に 2 番目の括弧を並べ替えます。 。 。 。

SELECT * from cs where (""%a% のような時間、または "%b%" のような名前、または "%e%" のような時間) または (""%11% のような時間、または "%22%" のような名前、またはtime like "%33%")

同じです、上と同じ文を使って組み合わせてください、これはわかりませんか?
if(instr(name,'A') >0,1,(if(instr(name,'b') >0,1,(if(instr(name,'e') >0) で並べ替えます,1,0)))) 説明

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。