ホームページ > データベース > mysql チュートリアル > DENSE_RANK() を使用して SQL の個別値の行番号を取得する方法

DENSE_RANK() を使用して SQL の個別値の行番号を取得する方法

Patricia Arquette
リリース: 2024-12-29 03:08:09
オリジナル
162 人が閲覧しました

How to Get Row Numbers for Distinct Values in SQL Using DENSE_RANK()?

SQL で Row_Number を使用して異なる値を持つ行を区別する

SQL の DISTINCT キーワードは、データを取得するときに重複行を排除する上で重要な役割を果たします。ただし、列内の各値の一意の出現を識別する必要がある場合には、これでは不十分な場合があります。ここで Row_Number が登場しますが、DISTINCT との組み合わせは注意が必要です。

問題のクエリは、id 列内の個別の値の行番号を表示しようとします。

SELECT DISTINCT id, ROW_NUMBER() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64;
ログイン後にコピー

ただし、このクエリの結果は、各一意の値の行番号ではなく、id の個別の値になります。望ましい結果を得るには、DISTINCT の代わりに DENSE_RANK() 関数を使用できます。

SELECT DISTINCT id, DENSE_RANK() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64;
ログイン後にコピー

DENSE_RANK() は、重複する値にギャップを割り当てる ROW_NUMBER() とは異なり、連続する行番号を個別の値に割り当てます。 DENSE_RANK() と DISTINCT を組み合わせることで、一意の ID 値ごとに行番号を取得し、さらなる分析や処理に必要な情報を提供できます。

以上がDENSE_RANK() を使用して SQL の個別値の行番号を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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