题解 | #小破站会员2021年9月收入#

小破站会员2021年9月收入

http://www.nowcoder.com/practice/9072394169054c278518b1872cb72213

重点1:datediff函数的使用,求日期差 重点2:sum求和 重点3:子查询的使用、round函数的使用

SELECT 
    -- 先计算开始结束的相差的天数得出使用时间
    -- 使用时间乘以平均价格对所有用户求和
    -- 取精确度
    ROUND(SUM((DATEDIFF(stop_date, start_date)+1) * avg_revenue), 2) AS revenue
FROM
    (

        SELECT 
            *,
            -- 如果在九月前就开通,则起始时间以以九月一日开始
            IF(begin_date<='2021-9-1', date('2021-9-1'), begin_date) AS start_date,
            -- 如果结束时间在九月底前,那么以九月底为结束
            IF(end_date>='2021-9-30',date('2021-9-30'), end_date) AS stop_date,
            pay_amount / days AS avg_revenue
        FROM 
            detail_list_tb
        WHERE   
            (begin_date<'2021-9-1' and end_date>'2021-9-1')
            OR (begin_date BETWEEN '2021-9-1' AND '2021-9-30')
    )a;
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 14:00
林子大了什么鸟都有啊,我觉得我说的已经很客气了,阴阳谁呢
牛客62656195...:应该不是阴阳吧?你第一次注册的时候boss就说你是牛人
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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