1. たとえば、テーブル内のフィールドの形式は次のとおりです: data 1|||||data 2|||||data 3
2。次に、データを $data[0] に分割します。 ,$data[1],$ data[3]、$data[3]で並べ替える
3 これは実現できるでしょうか?
4. まったくの初心者のため、説明が統一されていない可能性がありますが、意味は明確である必要があります。
1. たとえば、テーブル内のフィールドの形式は次のとおりです: data 1|||||data 2|||||data 3
2。次に、データを $data[0] に分割します。 ,$data[1],$ data[3]、$data[3]で並べ替える
3 これは実現できるでしょうか?
4. まったくの初心者のため、説明が統一されていない可能性がありますが、意味は明確である必要があります。
実装することは可能ですが、MySQL レベルで実装すると、データベースへの負荷が大きくなる可能性があります。
PHP プログラムでソートし、ID シーケンスに基づいて MySQL からデータを取得することを検討できます。
リーリー
ORDER BY FIELD(id,$ids) この操作は、データ量が大きい場合にもパフォーマンスの問題を引き起こします。実際の状況に基づいてキャッシュすることを検討できます。セグメント $ids、たとえば、最初のページでは 0 から 19 までの 20 個の項目を並べ替え、2 番目のページでは同様に、少量のデータをカスタム並べ替えることができます。 MySQL への負担が大幅に軽減されます。
リーリー リーリー
実装は可能ですが、非常に面倒で非効率です。この要件に対する通常の解決策は、テーブル構造を変更することです。
純粋に論理的な観点から見ると、SQL は実際には非常に複雑な処理を行うことができますが、クエリの実行に数分かかり、それが家族に知られたら、あなたは殴られると思いますか?
クエリ後のソートにはmysqlではなくphpを使用することをお勧めします
mysqlのsubstring_index