2 つの列 ( col1 、 col2 )を持つテーブルがあり、ブール列 ( col3 ) を追加した状況が発生しました。ここで、個別の col1 と最初に発生した col2 で行を更新する必要があります (つまり、col3 を true としてcol1 でグループから取得した行と同じです) 。
create table my_table( col1 integer, col2 integer, col3 tinyint(1));
insert into my_table(col1,col2) values(1,2);
insert into my_table(col1,col2) values(1,1);
insert into my_table(col1,col2) values(2,1);
insert into my_table(col1,col2) values(2,2);
insert into my_table(col1,col2) values(2,8);
insert into my_table(col1,col2) values(3,2);
insert into my_table(col1,col2) values(3,1);
insert into my_table(col1,col2) values(3,5);
insert into my_table(col1,col2) values(3,6);
insert into my_table(col1,col2) values(4,3);
insert into my_table(col1,col2) values(4,6);
insert into my_table(col1,col2) values(4,5);
insert into my_table(col1,col2) values(4,2);
新しい列テーブルを追加すると、col3 null の次の値が含まれます。
COL1 COL2 COL3
1 2 (null)
1 1 (null)
2 1 (null)
2 2 (null)
2 8 (null)
3 1 (null)
3 2 (null)
3 5 (null)
3 6 (null)
4 3 (null)
4 6 (null)
4 5 (null)
4 2 (null)
次のようにテーブルを更新するクエリが必要です。
COL1 COL2 COL3
1 2 1
1 1 (null)
2 1 1
2 2 (null)
2 8 (null)
3 1 1
3 2 (null)
3 5 (null)
3 6 (null)
4 3 1
4 6 (null)
4 5 (null)
4 2 (null)
SQLFiddle スキーマ リンク: http://sqlfiddle.com/#!2/0ddce/1