我的要求是:“大多数电影是在哪一年上映的?”下面的查询工作正常
SELECT release_year, count(film_id)
from film
GROUP BY release_year
ORDER BY count(film_id) DESC
LIMIT 1;结果:
+--------------+----------------+
| release_year | count(film_id) |
+--------------+----------------+
| 2017 | 110 |
+--------------+----------------+但是,这个查询的问题是,如果相同,则为否。在2016年上映的电影中(假设),除非我提到极限2(同样,我可能不知道极限值),否则我不会得到这个数字。因此,我使用DENSE_RANK()窗口函数进行了尝试,但无法这样做。
请建议如何进行dense_rank()查询?
发布于 2022-09-17 17:31:49
WITH
cte AS (
SELECT release_year,
COUNT(film_id) cnt,
DENSE_RANK() OVER (ORDER BY COUNT(film_id) DESC) drnk
FROM film
GROUP BY release_year
)
SELECT release_year, cnt
FROM cte
WHERE drnk = 1;https://stackoverflow.com/questions/73756662
复制相似问题