php MySQL クエリのランキング方法: 1. SQL ステートメントを通じてすべてのユーザーをランク付けします; 2. "SELECT b.uid,b.rownum FROM(SELECT t.*, @rownum:...) " ステートメントを通じて次のことができます。特定のユーザーのランキングをクエリします。
この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター
ランキングのクエリ方法php mysqlの?
PHP mysql はランキングを実装し、指定されたユーザーのランキングをクエリします。
状況は次のとおりです:
すべてのユーザーのポイント サイズ [point] のランキングを実装します。 user テーブルで特定のユーザーのポイントの特定のランキングを取得します
1. まず、すべてのユーザーをランク付けします
$sql = "SELECT t.*, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0) r,(SELECT uid,point FROM user ORDER BY `point` DESC) AS t "; $sql = "SELECT t.*, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0) r,(SELECT uid,point FROM user ORDER BY `point` DESC) AS t ";
注: 1. SELECT @rownum := 0: 初期値を割り当てることを意味しますof 0 to rownum
2. @rownum := @rownum 1: rownum に 1 を追加することを示します。ステートメントは 1 から開始され、各行は自動的に 1 を追加します。
上記のコードユーザー テーブル内のポイントに基づいて、最大から最小の順に並べ替えます。
2. 特定のユーザーのランキングを取得する
原則: 前のステップで取得したデータをテーブルとして扱い、uid
$sql = "SELECT b.uid,b.rownum FROM(SELECT t.*, @rownum := @rownum + 1 AS rownum FROM (SELECT @rownum := 0) r,(SELECT uid,point FROM user ORDER BY `point` DESC) AS t) AS b WHERE b.uid = {$uid} ";
クエリ結果: {"uid":"300462","rownum":"10"}
ここで、rownum はユーザーに対応するランキングです。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がphp mysqlでランキングをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。