在 SQL 中使用基於計數的編號複製行
在 SQL 中,管理出現次數不同的資料可能具有挑戰性。本問題探討了一種根據指定計數重複行的方法,為結果行分配數字索引。
資料庫獨立解決方案
將聯結操作與數位表中,我們可以根據不同資料庫平台(如 Oracle、SQL Server、MySQL和PostgreSQL.
SELECT value, COUNT, number FROM table JOIN Numbers ON table.COUNT >= Numbers.number
說明
數字表是包含連續數字(例如,1、2、3、...)的靜態表。條件“COUNT >= number」下將主表與數字表連接起來,我們複製計數大於或等於數字表中可用數字的值的行。
範例
考慮以下表格資料:
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,同時出現「foo」行僅一次,因為其計數為1。
以上是如何根據計數複製 SQL 行並分配序號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!