gpt4 book ai didi

mysql - 计算具有 2 个条件的记录

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:17 24 4
gpt4 key购买 nike

如何计算具有 2 个条件的数据库记录。

这是图片:

enter image description here

我只想计算条件为 12 & 18 的帖子。因此,在第 11 篇文章之后,我应该将计数器设为 1。第 5、6、7、9、10 篇文章不应该被计算在内,因为条件 12 和 18 没有出现。

要了解这里的想法是一个查询:

SELECT COUNT(post) from post_condition
where `condition`=18 AND `condition`=12

但这是错误的,我尝试了一些子查询但没有成功。

最佳答案

如果你想计算两者都有的数量,那么你可以使用子查询生成匹配的帖子:

SELECT COUNT(*)
FROM (SELECT pc.post
FROM post_condition pc
WHERE pc.condition IN (12, 18)
GROUP BY pc.post
HAVING COUNT(pc.condition) = 2 -- assumes no duplicates
) t;

如果你有一个帖子表(我怀疑这是真的:

select count(*)
from posts p
where exists (select 1 from post_condition pc where pc.post = p.post and pc.condition = 12) and
exists (select 1 from post_condition pc where pc.post = p.post and pc.condition = 18);

使用 post_condition(post, condition) 上的索引,这可能是最快的方法。只有当许多帖子在 post_condition 中根本没有行时,这才会变慢。

关于mysql - 计算具有 2 个条件的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43440310/

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