MySQL:求和唯一ID的总数

时间:2016-01-26 09:25:15

标签: mysql sql

在我的数据库中,我希望在特定日期之后输出带有评论的图书总数:

> 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)

2 个答案:

答案 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()就是你想要的:

https://dev.mysql.com/doc/refman/5.7/en/counting-rows.html