我有一张不同电影的表格,每部电影都有一些副本:
inventory_id film_id store_id
1 1 1
2 1 1
3 2 1
4 2 1
我需要计算每部电影的频率并计算不同影片的数量,也可以使用相同数量的副本,例如:
Copies Counts
2 2
我写了这个:
select DISTINCT COUNT(*) as Copies,
(select COUNT(*) from (select COUNT(*) as Copies from inventory
group by film_id
having store_id = 1)
group by Copies
) as Counts from inventory
where store_id = 1
group by film_id
order by Copies DESC
结果就像:
Copies Counts
4 73
3 73
2 73
我不明白为什么Counts都具有相同的价值。我该怎么办呢?
答案 0 :(得分:0)
基于此描述:
我需要计算每部电影的频率并计算数量 不同的电影也有相同数量的副本
您似乎想要直方图查询的直方图:
select copies, count(*) as num_films, min(film_id), max(film_id)
from (select film_id, count(*) as copies
from inventory
group by film_id
) f
group by cnt
order by cnt;
以下查询正在做一些完全不同的事情,包括按商店过滤。