gpt4 book ai didi

mysql - 更新表列 mysql 中的特定值

转载 作者:行者123 更新时间:2023-11-29 07:50:31 25 4
gpt4 key购买 nike

我有这样的表:

id business_id path     photo
1 11 1.jpg 0
2 11 2.jpg 0
3 15 1.jpg 0
4 15 3.jpg 0
5 15 4.jpg 0
6 21 scan1.jpg 0
7 21 scan2.jpg 0
8 22 1.jpg 1

...

我想更新表格,以便对于每个企业来说,在上述企业 11 的场景中。其中一条路径应将照片设置为 1。

如果上面的照片已设置为 1(如 business_id = 22),则不应更改该值。

我认为以下查询一次适用于 1 个 business_id:

Update business 
set photo = 1
where id = 11 limit 1

但我的问题是如何批量运行它?这样我就可以一次性更新所有内容。

最佳答案

您可以使用下面的查询来更新您的表格,它将获取每个 business_id 的最大值,其中所有照片都设置为 0,并且使用 join 您的子选择将更新每个 的单个记录Business_id 到照片 = 1

update business b
join (select max(id) id, business_id
from business
group by business_id
having sum(photo = 0) = count(*)) t
on(b.id = t.id)
set b.photo = 1

DEMO

关于mysql - 更新表列 mysql 中的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26547104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com