MySQL:让HAVING选择也“null”

我有两张桌子:dilemme等.
第一个包含文章,第二个包含投票.
脚本SELECT随机显示一篇文章,用户可以投票(喜欢和不喜欢).

我想创建一个查询,只显示超过5投票的文章,没有投票的文章等于0.

所以我尝试了这个:

SELECT d.ph1, d.ph2, d.id, SUM(l.vote) AS score
FROM dilemme d
LEFT JOIN like l
ON d.id = l.id_dilemma
WHERE d.valid = 'yup'
GROUP BY d.id HAVING SUM(l.vote) > 0

它正确地向我显示了至少有一票并且投票总和大于0的行.这很好但是,如何选择没有投票的文章?
我尝试了很多东西并做了一些研究,但无法解决我的问题.
我认为INSERT INTO就像0投票一样,但我认为这不是一个好主意,因为它不是一个非常优化的解决方案.

提前致谢.
PS:对不起我的英文,不是我的monthertongue;)

解决方法:

这应包括具有正投票的文章,或包含使用COUNT(l.id_delemma)= 0的无投票的文章

SELECT d.ph1, d.ph2, d.id, SUM(l.vote) AS score
FROM dilemme d
LEFT JOIN like l
ON d.id = l.id_dilemma
WHERE d.valid = 'yup'
GROUP BY d.id 
HAVING 
    SUM(l.vote) > 0
    OR COUNT(l.id_delemma) = 0
上一篇:经典-sql-练习


下一篇:php – 使用Eloquent实现group_by并使用Laravel