MySQLのランキング機能
P粉310754094
2023-08-24 00:03:12
<p>顧客のランキングを調べる必要があります。ここでは、要件に従って、対応する ANSI 標準 SQL クエリを追加します。 MySQL への変換を手伝ってください。 </p>
<pre class="brush:php;toolbar:false;">SELECT RANK() OVER (PARTITION BY Gender ORDER BY Age) AS [性別によるパーティション],
ファーストネーム、
年、
性別
FROM 人</pre>
<p>MySQL にランキングをクエリする関数はありますか? </p>
これは、パーティション上の高密度レベルを行に割り当てる一般的なソリューションです。ユーザー変数を使用します:
リーリー変数の割り当ては
CASE
式内で行われることに注意してください。これにより (理論的には) 評価順序の問題が解決されます。IS NOT NULL
は、データ型変換と短絡の問題を処理するために追加されました。PS: これは、タイをチェックするすべての条件を削除することで、パーティション上の行番号に簡単に変換できます。
リーリーdbデモフィドル
1 つのオプションは、次のようなランキング変数を使用することです:
リーリー
###テストケース:### リーリー ###結果:### リーリー(SELECT @curRank := 0)
セクションでは、別のSET
コマンドを使用せずに変数を初期化できます。