datetime refno status final_status
----------------------------------------------------------------
2016-12-01 10:00:00 123456 hold
2016-12-02 11:10:00 123456 delivered
2016-12-01 10:00:00 654321 hold
2016-12-02 12:20:00 654321 delivered
2016-12-01 10:00:00 111111 hold
2016-12-01 01:00:00 222222 hold
如果 Refno 已交付,我想区分 refno,然后 new_status 列将更新为已交付,否则更新为 hold
喜欢这种类型:-
输出:-
datetime refno status final_status
----------------------------------------------------------------
2016-12-01 10:00:00 123456 hold delivered
2016-12-01 10:00:00 654321 hold delivered
2016-12-01 10:00:00 111111 hold hold
2016-12-01 01:00:00 222222 hold hold
最佳答案
如果下面的 status
列中只有 hold
和 delivered
值,则对您有用。
select
min(datetime),
refno,
max(status) status,
min(status) final_status
from
my_table
group by
refno;
关于mysql - 借助 sql 更新具有不同 refno 的 new_status 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41289161/