PostgreSQL如何使用条件进行计数?

m3eecexj  于 2023-01-25  发布在  PostgreSQL
关注(0)|答案(1)|浏览(350)

有人可以请协助查询我正在为学校使用的PostgreSQL教程的样本数据库?这里是我在PostgreSQL中的查询,让我的原始数据,我可以导出到excel,然后放在一个数据透视表,以获得所需的计数。目标是使查询计数,所以我不必做手动提取到excel和后续的数据透视表:

SELECT
i.film_id, 
r.rental_id
FROM
rental as r
INNER JOIN inventory as i ON i.inventory_id = r.inventory_id
ORDER BY film_id, rental_id
;

从数据库中我得到了一个电影列表(by film_id)显示每次租用影片的时间(通过rental_id)。如果只是导出到excel,该查询工作正常。由于我们不想进行手动过程,我需要在查询中添加如何计算给定电影的播放次数(by film_id)被租用。结果应该是这样的(这里只显示前五个,查询不需要这样做):

film_id | COUNT of rental_id
1       | 23
2       | 7
3       | 12
4       | 23
5       | 12

数据库设置说明可在此处找到:LINK
我试过使用COUNTIF和CASE(以下其他职位在这里),我不能让任何工作,请帮助。

aamkag61

aamkag611#

你试过这个吗?:

SELECT
i.film_id, 
COUNT(1)
FROM
rental as r
INNER JOIN inventory as i ON i.inventory_id = r.inventory_id
GROUP BY i.film_id
ORDER BY film_id;

如果数据中的rental_id大于1,则可能需要使用COUNT(DISTINCT r.rental_id)

相关问题