在我的数据库中,我希望在特定日期之后输出带有评论的图书总数:
> SELECT book_id, AVG(score)
FROM review
WHERE review.date > "2012-07-11"
GROUP BY review.book_id ;
+---------+------------+
| book_id | AVG(score) |
+---------+------------+
| 345335 | 3.5 |
| 974147 | 3 |
| 723923 | 4 |
| 281192 | 3 |
| 384423 | 3.5 |
| 123122 | 3.5 |
| 112859 | 3 |
| 234892 | 5 |
+---------+------------+
现在,我想知道"总数"符合这种条件的书籍。也就是说,我需要book_id
的总和。
但是,我不知道该怎么做。您如何SELECT
SUM(book_id)
?
答案 0 :(得分:1)
首先,我很确定你不想要SUM
,因为那将是 3,179,893 。 SUM
表示将所有值相加并合计。
相反,您可能希望符合条件的COUNT
DISTINCT
个ID。 COUNT
意味着"多少行"或用你的话语"总数"实体DISTINCT
是仅查看唯一值的关键字。
所以在SQL中,这将是:
select count(distinct book_id)
from review
where review.date > '2012-07-11'
答案 1 :(得分:-1)
也许使用COUNT()
就是你想要的: