すべての値の重複を数えます[重複]
のすべての出現回数を含む列をテーブルに追加する必要があります。したがって、値が一意である場合、列の値は1である必要がありますが、複数のコピーがある場合は、行ごとに異なる値が必要です(1,2 ...)
たとえば、データベースはpostgresです。
id | 値 | カウント |
---|---|---|
1 | a | 1 |
2 | a | 2 |
3 | b | 1 |
4 | b | 2 |
5 | b | 3 |
6 | c | 1 |
データベースの例 https://dbfiddle.uk/?rdbms=postgres_10&fiddle=0e7132f3f094bd93b390ccae2e811696
回答
5 a_horse_with_no_name
これは、ウィンドウ関数を使用して実行できます
select id, value, count(*) over (partition by value order by id)
from the_table
order by id, value;