You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 8.0.40中查询Sakila库租赁量最高日期及对应数量

解决MySQL中获取最高租赁量日期及数值的方法

方法1:使用窗口函数(MySQL 8.0+支持,推荐)

先按日期分组统计每日租赁记录数,再通过RANK()窗口函数标记出租赁量最高的记录,最后筛选排名第一的结果:

SELECT rental_date, daily_rentals
FROM (
    SELECT 
        DATE(rental.rental_date) AS rental_date,
        COUNT(*) AS daily_rentals,
        RANK() OVER(ORDER BY COUNT(*) DESC) AS rnk
    FROM rental
    GROUP BY DATE(rental.rental_date)
) AS daily_stats
WHERE rnk = 1;

如果存在多个日期租赁量并列最高的情况,RANK()会返回所有并列的记录;如果只需要返回一条,可替换成ROW_NUMBER()。

方法2:使用子查询关联

先计算出所有日期中的最大租赁量,再关联每日统计结果找到对应日期:

SELECT 
    DATE(rental.rental_date) AS rental_date,
    COUNT(*) AS daily_rentals
FROM rental
GROUP BY DATE(rental.rental_date)
HAVING COUNT(*) = (
    SELECT MAX(daily_count)
    FROM (
        SELECT COUNT(*) AS daily_count
        FROM rental
        GROUP BY DATE(rental_date)
    ) AS max_stats
);

这个写法也能返回所有租赁量并列最高的日期。

内容的提问来源于stack exchange,提问作者MarkS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:40:52