テーブルに次のデータがあります
col1 col2 col3
276328 | 999999999999 | 664116
927356 | 999999999999 | 664140
927356 | 999999999999 | 664140
927356 | 999999999999 | 664159
927379 | 999999999999 | 664172
コード:
create table #table (col1 bigint, col2 bigint, col3 bigint)
insert into #table values(276328, 999999999999, 664116)
insert into #table values(927356, 999999999999, 664140)
insert into #table values(927356, 999999999999, 664140)
insert into #table values(927356, 999999999999, 664159)
insert into #table values(927379, 999999999999, 664172)
col1をグループ化し、そのサブグループに適用する最小値(col1)を選択しながら、Col2をCol3の値に更新する必要があります。
276328と927379は独自のグループに属していますが、927356は、col2に割り当てられるcol3番号が最小である必要があるグループです。
したがって、更新された上記の表は次のようになります。
col1 | col2 | col3
276328 | 664116 | 664116
927356 | 664140 | 664140
927356 | 664140 | 664140
927356 | 664140 | 664159
927379 | 664172 | 664172
更新する行が2m以上あるので、ループではなく一括更新する必要があります。
テーブルを更新するSQLをどのように記述しますか?