题解 | 统计借阅量

统计借阅量

https://www.nowcoder.com/practice/280ed56ab3ee49a4b2a4595d38e1d565

select t.book_id,book_title
,sum(case when date_format(borrow_date ,'%Y-%m') = '2023-02' then 1 else 0 end) as feb_2023_borrows
,sum(case when date_format(borrow_date ,'%Y-%m') = '2024-02' then 1 else 0 end) as feb_2024_borrows
,sum(case when date_format(borrow_date ,'%Y-%m') = '2024-01' then 1 else 0 end) as jan_2024_borrows
,sum(case when date_format(borrow_date ,'%Y-%m') = '2024-02' then 1 else 0 end)-sum(case when date_format(borrow_date ,'%Y-%m') = '2023-02' then 1 else 0 end) as yoy_delta
,sum(case when date_format(borrow_date ,'%Y-%m') = '2024-02' then 1 else 0 end)-sum(case when date_format(borrow_date ,'%Y-%m') = '2024-01' then 1 else 0 end) as mom_delta
,round(ifnull(sum(case when region='华北' and year(borrow_date) =2023 then 1 else 0 end)/sum(case when year(borrow_date) =2023 then 1 else 0 end)*100,0),2) as north_pct_2023
,round(ifnull(sum(case when region='华南' and year(borrow_date) =2023 then 1 else 0 end)/sum(case when year(borrow_date) =2023 then 1 else 0 end)*100,0),2) as south_pct_2023
,round(ifnull(sum(case when region='华东' and year(borrow_date) =2023 then 1 else 0 end)/sum(case when year(borrow_date) =2023 then 1 else 0 end)*100,0),2) as east_pct_2023
from Books t
left join BorrowRecords t1 on t.book_id=t1.book_id
left join Branches t2 on t1.branch_id=t2.branch_id
group by t.book_id,book_title
order by book_id,book_title 

全部评论

相关推荐

影04714:把图书管理系统那个项目经验内容适当的减少掉,然后改成据为己有不要说团队项目,因为图书管理系统这类常见的谁来了都能独立写出来,提问能圆过来即可
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务