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

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

DDD
リリース: 2025-01-01 11:43:10
オリジナル
721 人が閲覧しました

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

DENSE_RANK() を使用して個別の行番号を取得する SQL クエリ

SQL では、通常、一意の (個別の) 値の検索は DISTINCT を使用して行われます。キーワード。ただし、これらの個別の値の行番号を表示する必要がある場合、DISTINCT だけを使用するだけでは不十分な場合があります。

指定されたコード内:

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

DISTINCT キーワードは重複する ID 値を削除しますが、 ROW_NUMBER() 関数は、結果セット内の各レコードに一意の行番号を割り当てます。したがって、これは個別の値を識別するのには役に立ちません。

目的の結果を達成するには、代わりに DENSE_RANK() 関数を使用できます。

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

DENSE_RANK() 関数は個別のランクを割り当てます。行番号のギャップを無視して、それぞれの一意の ID 値に対応します。これにより、結果セット内の個別の値に一意の行番号が提供されます。

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

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