ホームページ > データベース > mysql チュートリアル > カウントに基づいて SQL 行をレプリケートし、連番を割り当てるにはどうすればよいですか?

カウントに基づいて SQL 行をレプリケートし、連番を割り当てるにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-06 13:53:40
オリジナル
869 人が閲覧しました

How Can I Replicate SQL Rows Based on a Count and Assign Sequential Numbers?

SQL でのカウントベースの番号付けを使用した行のレプリケーション

SQL では、出現頻度が異なるデータを管理するのが困難な場合があります。この質問では、指定された数に基づいて行を繰り返し、結果の行に数値インデックスを割り当てる方法について説明します。

データベースに依存しないソリューション

数値テーブルを使用すると、Oracle、SQL Server、MySQL などのさまざまなデータベース プラットフォーム間でカウント値に基づいて行をレプリケートできます。 PostgreSQL.

SELECT value, COUNT, number
FROM table
JOIN Numbers
    ON table.COUNT >= Numbers.number
ログイン後にコピー

説明

数値テーブルは、連続する数値 (1、2、3 など) を含む静的なテーブルです。 「COUNT >= 数値」という条件でメイン テーブルと数値テーブルを結合することにより、数値テーブル内の使用可能な数値以上のカウントを持つ値の行を複製します。

次のテーブル データを考えてみましょう:

value count
foo 1
bar 3
baz 2

クエリを適用すると、結果は次の出力になります:

value count number
foo 1 1
bar 3 1
bar 3 2
bar 3 3
baz 2 1
baz 2 2

この結果では、カウント 3 の「bar」の行が対応するインデックス 1、2、3 で 3 回繰り返されますが、「foo」の行は" はカウントが 1 なので 1 回だけ表示されます。

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

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