ホームページ >バックエンド開発 >PHPチュートリアル >orの2文SQLでデータをlikeの順に並べるにはどうすればいいですか?
名前 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)))) 説明