ホームページ >データベース >mysql チュートリアル >SQL 結果行をレプリケートして一意の行番号を割り当てるにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。