mysql ソート関連の問題

WBOY
リリース: 2016-06-13 12:08:47
オリジナル
964 人が閲覧しました

mysql の並べ替えの問題
mysql はデータ リストをクエリします。たとえば、このデータ リストは 1 ページに 5 つのレコードがあります

<br />$page = $_REQUEST['page'];<br /><br />select * from user limit ($page-1)*5,5;<br />
ログイン後にコピー


。たとえば、$user_list とします。次に、この user_list

<br />foreach($user_list as $k=>$v){<br />    // 然后根据某函数比如说 aa 计算出一个新的字段cc<br />    $user_list[$k]['cc'] = aa($v['id']);<br />}<br />
ログイン後にコピー


をループし、cc フィールドに従ってユーザー テーブルを並べ替えます。発生する問題は、リストがページ分割されていることです。最初のページの並べ替えは通常、小さい

から大きい順に並べ替えられますが、2 番目のページをクリックすると、
ccは頻繁に変更されるフィールドなので、計算する必要があります。

-----解決策のアイデアを教えてください。 ------------------一時テーブルの作成を使用します temp
は一時テーブルを作成し、cc を計算して temp のフィールドとして保存します。次に、一時テーブルをソートしてページングします。

------解決策----------------------部分を読んだだけです データはすでに削除されています
距離で並べ替える必要がある場合は、次のようにすることができます。
テーブル内に、緯度と経度を格納する X フィールドと Y フィールドがあると仮定します。販売者はそれぞれ
$x、$y はユーザーの緯度と経度を表します
次に、ユーザーから * を選択します
ORDER BY abs($x-X), abs($y-Y) 制限 ($page- 1)*5,5;

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート