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

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

DDD
DDDオリジナル
2025-01-01 11:43:10723ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。