ホームページ >データベース >mysql チュートリアル >SQL で一意の値の行番号を表示するにはどうすればよいですか?

SQL で一意の値の行番号を表示するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-25 18:17:11120ブラウズ

How to Display Row Numbers for Unique Values in SQL?

SQL を使用した一意の値の行番号の表示

SQL の DISTINCT キーワードは、一意の値のみを取得するために使用されます。指定された列から。この特定のケースでは、ROW_NUMBER() 関数を使用して列内の固有の値の行番号を表示することを目的としています。

ただし、指定したクエリは次のとおりです。

SELECT DISTINCT id, ROW_NUMBER() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64

は、DISTINCT を使用して重複を効果的に排除しているため、予期した結果を返しません。その結果、次のクエリと同様に動作します:

SELECT DISTINCT id FROM table WHERE fid = 64

目的の出力を実現するには、代わりに DENSE_RANK() 関数を利用できます。 DENSE_RANK() は、重複する値がある場合でも、指定された順序で各個別の値に一意の行番号を割り当てます。

変更されたクエリは次のとおりです。

SELECT DISTINCT id, DENSE_RANK() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64

これクエリは、条件 WHERE fid = を満たす行について、指定された列の一意の値に対応する行番号を提供します。 64.

以上がSQL で一意の値の行番号を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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