我想显示 Like 为 3 或更多的帖子总数;
我有3张 table
表格帖子:
id_post | title
1 | Ganteng
2 | serigala
表用户
id_user | username
1 | mantan
2 | otong
3 | pak_pol
表投票:
id_vote | id_post | LIKE | id_user
1 | 1 | 1 | 2
2 | 1 | 1 | 1
3 | 1 | 1 | 3
4 | 2 | 1 | 1
5 | 2 | 1 | 2
6 | 2 | 1 | 3
这是我的查询:
$sql="SELECT COUNT(v.id_post) as total_post
FROM vote v
LEFT JOIN post p ON p.id_post=v.id_post
HAVING SUM(`like`) >= 3";
按照我的预期,$sql的值应该是2...但是返回的值是6
有答案吗?
非常感谢
最佳答案
有两个步骤要做:
- 查找所有获得超过两次点赞的帖子。 (因此按帖子分组,看看是否有超过两个点赞。)
- 计算这些帖子的数量。
查询:
select count(*)
from
(
select id_post
from vote
group by id_post
having count(*) >= 3
) well_liked_posts;
关于mysql - 选择具有总和的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28146072/