gpt4 book ai didi

mysql - 如何将子查询请求限制为一个?

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

我正在考虑一种将一个查询与子查询结合使用的方法,而不是使用两个单独的查询。

但事实证明,使用子查询会导致对结果集中的每一行进行多次请求。有没有一种方法可以限制组合查询中只有一个计数子查询结果?

SELECT `ad_general`.`id`, 
( SELECT count(`ad_general`.`id`) AS count
FROM (`ad_general`)
WHERE `city` = 708 ) AS count,
FROM (`ad_general`)
WHERE `ad_general`.`city` = '708'
ORDER BY `ad_general`.`id` DESC
LIMIT 15

可能使用连接可以解决问题,但不知道如何?

最佳答案

SELECT ad_general.id, stats.cnt
FROM ad_general
JOIN (
SELECT count(*) as cnt
FROM ad_general
WHERE city = 708
) AS stats
WHERE ad_general.city = 708
ORDER BY ad_general.id DESC
LIMIT 15;

明确的表名不是必需的,但为了清晰和可维护性而使用(如果 ad_general 的架构或生成的表发生变化,明确的表名将防止任何歧义)。

关于mysql - 如何将子查询请求限制为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861036/

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