ホームページ >データベース >mysql チュートリアル >SQL 結果行をレプリケートして一意の行番号を割り当てるにはどうすればよいですか?

SQL 結果行をレプリケートして一意の行番号を割り当てるにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-06 14:37:40191ブラウズ

How Can I Replicate SQL Result Rows and Assign Unique Row Numbers?

SQL での結果行の複製と行番号の割り当て

この質問の目的は、既存の SQL クエリを変更して、追加の行を生成することです。カウントが 1 より大きいエントリ。複製された各行には、一意のインデックス番号を割り当てる必要があります。この機能強化は、データのより詳細な表現を提供し、分析と解釈を容易にすることを目的としています。

Numbers Table を使用したクロスデータベース ソリューション

複数のデータにわたってこの結果を達成するにはデータベースでは、「Numbers」テーブルを利用できます。このテーブルには、インデックス番号として機能する自動インクリメント列が含まれています。元のテーブルのカウントが Numbers テーブルの数以上であるという条件を使用して元のテーブルを Numbers テーブルに結合すると、カウント値に基づいて行をレプリケートできます。

次のクエリはこれを示しています。アプローチ:

SELECT value, count, number
FROM table
JOIN Numbers
ON table.count >= Numbers.number

このクエリは、Oracle、SQL Server、MySQL、PostgreSQL だけでなく、一般的なテーブル式をサポートするデータベースでも効果的に機能します。 (CTE).

以上がSQL 結果行をレプリケートして一意の行番号を割り当てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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