如何在MySQL中创建存储过程获取客户预订汇总信息
客户预订信息汇总存储过程实现
针对多学科预订数据库的客户预订信息汇总需求,这里提供一个MySQL存储过程的实现方案,用于统计指定客户在指定年份内各服务的预订次数及总费用:
DELIMITER // CREATE PROCEDURE Client_Booking_Summary( IN client_id INT, IN year INT ) BEGIN SELECT services.service_name, COUNT(*) AS total_bookings, SUM(services.service_fee) AS total_fees FROM bookings JOIN services ON bookings.service_id = services.service_id WHERE bookings.client_id = client_id AND YEAR(bookings.booking_date) = year GROUP BY services.service_name; END// DELIMITER ;
关键说明:
- 两个输入参数
client_id(客户ID)和year(目标年份),用于精准定位要汇总的对象和时间范围 - 通过
JOIN关联bookings(预订表)和services(服务表),获取服务名称及费用信息 - 使用
COUNT(*)统计每个服务的预订次数,SUM(services.service_fee)计算该服务的总费用 - 利用
YEAR(bookings.booking_date)提取预订日期的年份,实现年份过滤 - 按
services.service_name分组,确保每个服务的统计结果单独展示
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

