P粉7574324912023-08-24 20:59:09
これは、パーティション上の高密度レベルを行に割り当てる一般的なソリューションです。ユーザー変数を使用します:
リーリー変数の割り当ては CASE
式内で行われることに注意してください。これにより (理論的には) 評価順序の問題が解決されます。 IS NOT NULL
は、データ型変換と短絡の問題を処理するために追加されました。
PS: これは、タイをチェックするすべての条件を削除することで、パーティション上の行番号に簡単に変換できます。
リーリーP粉2183619722023-08-24 09:36:05
1 つのオプションは、次のようなランキング変数を使用することです:
リーリー(SELECT @curRank := 0)
セクションでは、別の SET
コマンドを使用せずに変数を初期化できます。