mysqlはfindを通ります同前set()関数はwhere in()の順序で並べ替えられます。

1428 ワード

この記事では、mysqlについて、where in()の順に並べ替えて、find(u)を使って紹介します。同前set関数の教程は、この教程が皆様の役に立つことを願っています。

select * from table where id in ('783',' 769',' 814',' 1577',' 1769') 
order by find_in_set( id, '783, 769, 814, 1577, 1769' ) 
検出:

769
1577
814
1769
783
なぜ783 769の814が1577の1769の順序ではないですか?
注意:調べた結果、find_に原因があります。同前setの中で、find_なら同前setの2番目のパラメータの中に空欄があると順番が狂ってしまいます。mysqlクエリの前にtrimスペースがありません。
そして…
スペースを削除した後:

select * from table where id in ('783',' 769',' 814',' 1577',' 1769') 
order by find_in_set( id, '783,769,814,1577,1769' ) 
注意は取れただけです。
'783,769,814,1577,1769'の中のスペース

    :
783
769
814
1577
1769
これで私達はwhere in find_を実現します。同前setの並べ替え、find_同前setはまた多条件の並べ替えを実現することができます。
締め括りをつける
以上は本文のmysqlについてfind_を通します。同前set()関数は、where in()の順序付けのすべての紹介を実現します。興味のある友達は、MySQLデータベーステーブルのパーティションの注意事項大全【おすすめ】いくつかの比較的重要なMySQL変数sqlとMySQLの文の実行順序分析などを参照してください。皆さんのためになりたいです。