Tôi tin rằng điều này sẽ làm được, bằng cách sử dụng khóa trùng lặp + ifnull ():
create table tmp like yourtable;
alter table tmp add unique (text1, text2);
insert into tmp select * from yourtable
on duplicate key update text3=ifnull(text3, values(text3));
rename table yourtable to deleteme, tmp to yourtable;
drop table deleteme;
Sẽ nhanh hơn nhiều so với bất kỳ thứ gì yêu cầu nhóm theo hoặc riêng biệt hoặc một truy vấn con, hoặc thậm chí sắp xếp theo thứ tự. Điều này thậm chí không yêu cầu tệp tệp, điều này sẽ giết chết hiệu suất trên một bảng tạm thời lớn. Vẫn sẽ yêu cầu quét toàn bộ bảng gốc, nhưng không tránh được điều đó.