ホームページ > データベース > mysql チュートリアル > SQL で行番号を個別の値に割り当てる方法

SQL で行番号を個別の値に割り当てる方法

Patricia Arquette
リリース: 2024-12-29 20:52:16
オリジナル
484 人が閲覧しました

How to Assign Row Numbers to Distinct Values in SQL?

Row_Number を使用した SQL の個別の行番号

SQL の個別のクエリは、指定された列から一意の値を取得するために使用されます。ただし、個別の値だけでなく、それに対応する行番号も表示することが望ましいシナリオもあります。これを実現するには、Row_Number 関数を DISTINCT キーワードと組み合わせて使用​​できます。

この例では、ユーザーは DISTINCT と Row_Number を組み合わせて、行番号とともに個別の値を表示しようとしました。

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

ただし、このクエリは次のクエリと同様に、個別の値のみを生成しました:

SELECT distinct id FROM table WHERE fid = 64
ログイン後にコピー

これを解決するにはこの問題では、Row_Number の代わりに DENSE_RANK 関数を使用できます。 DENSE_RANK は、データ内のギャップに関係なく、連続する行番号を個別の値に割り当てます。

修正されたクエリは次のとおりです:

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

このクエリは、目的の結果、つまり個別の値のリストを提供します。意図したとおり、対応する行番号が付けられます。

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

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