gpt4 book ai didi

mysql - sql:获取稍微修改的查询以及 sql select 查询的计数?

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

我们的图像表包含以下列:- 1) imageId、2) ProductId、3)isApproved [标志 1/0]。一件产品可以有多个图像。

我们有一个存储过程,它必须返回特定产品 ID 的所有已批准图像 + 该产品 ID 的所有图像(已批准/未批准)的计数。

select * from images where isApproved=1
where productId = {user_entered_id};

select count(*) from images
where productId = {user_entered_id};

有没有更好的方法可以通过 1 个查询从图像表中获取这 2 个信息?这是一个巨大的表,我们希望尽可能减少 SQL 查询。

一种解决方法是修改 query1 并将所有图像返回到应用程序服务器并在那里过滤 isApproved=1 图像,但它会将 isApproved=0 图像返回到应用程序服务器,这是不必要且有风险的。还有更好的办法吗?

最佳答案

您可以聚合这些值:

select group_concat(case when isApproved = 1 then image_id end) as approved_image_ids,
count(*) as num_images
from images i
where productId = {user_entered_id};

关于mysql - sql:获取稍微修改的查询以及 sql select 查询的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49352663/

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