ホームページ > バックエンド開発 > PHPの問題 > php mysqlでランキングをクエリする方法

php mysqlでランキングをクエリする方法

藏色散人
リリース: 2023-03-13 16:00:02
オリジナル
2205 人が閲覧しました

php MySQL クエリのランキング方法: 1. SQL ステートメントを通じてすべてのユーザーをランク付けします; 2. "SELECT b.uid,b.rownum FROM(SELECT t.*, @rownum:...) " ステートメントを通じて次のことができます。特定のユーザーのランキングをクエリします。

php mysqlでランキングをクエリする方法

この記事の動作環境: 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 サイトの他の関連記事を参照してください。

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