繁体   English   中英

如何使用 sql 语句查找每个类别的产品数量

[英]how to find number of product for each category using sql statement

我希望创建一个 sql 查询来列出属于每个电影类别的电影总数。 无法创建任何查询。 任何帮助将不胜感激。

+-------------+-------------+---------------------+
| category_id | name        | last_update         |
+-------------+-------------+---------------------+
|           1 | Action      | 2006-02-15 04:46:27 |
|           2 | Animation   | 2006-02-15 04:46:27 |
|           3 | Children    | 2006-02-15 04:46:27 |
|           4 | Classics    | 2006-02-15 04:46:27 |
|           5 | Comedy      | 2006-02-15 04:46:27 |
|           6 | Documentary | 2006-02-15 04:46:27 |
|           7 | Drama       | 2006-02-15 04:46:27 |
|           8 | Family      | 2006-02-15 04:46:27 |
|           9 | Foreign     | 2006-02-15 04:46:27 |
|          10 | Games       | 2006-02-15 04:46:27 |
+-------------+-------------+---------------------+

+---------+-------------+---------------------+
| film_id | category_id | last_update         |
+---------+-------------+---------------------+
|       1 |           6 | 2006-02-15 05:07:09 |
|       2 |          11 | 2006-02-15 05:07:09 |
|       3 |           6 | 2006-02-15 05:07:09 |
|       4 |          11 | 2006-02-15 05:07:09 |
|       5 |           8 | 2006-02-15 05:07:09 |
|       6 |           9 | 2006-02-15 05:07:09 |
|       7 |           5 | 2006-02-15 05:07:09 |
|       8 |          11 | 2006-02-15 05:07:09 |
|       9 |          11 | 2006-02-15 05:07:09 |
|      10 |          15 | 2006-02-15 05:07:09 |
+---------+-------------+---------------------+

您需要将categoriesfilms进行左连接,以便在结果中包含所有类别,即使是那些没有电影的类别,并按类别分组进行计数:

select c.name, count(f.film_id) counter
from categories c left join films f
on f.category_id = c.category_id
group by c.category_id, c.name

请参阅演示
结果(对于您的样本数据,其中包括表films中的category_id ,表categories中不存在,因此它们不被计算在内):

| name        | counter |
| ----------- | ------- |
| Action      | 0       |
| Animation   | 0       |
| Children    | 0       |
| Classics    | 0       |
| Comedy      | 1       |
| Documentary | 2       |
| Drama       | 0       |
| Family      | 1       |
| Foreign     | 1       |
| Games       | 0       |

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM