乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
HQL经典sql之课程总数与总价格 | chenzuoli's blog

HQL经典sql之课程总数与总价格

      有这样一个问题,关于培训班学生的统计分析数据,一起来看看吧。

      有三张表:

  • t1为学生课程表:sid(学生ID)、courseid(课程ID)、date(报课时间)
  • t2为学生基本信息表:sid、name、age……
  • t3为课程基本信息表:courseid、price、date
    现在想要查看一个培训学校目前每个学生的所报的所有课程数和花费的总金额,如何求呢?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select
    sid,
    count(courseid) over(partition by sid) as count,
    sum(price) over(partition by sid) as sumprice
    from (
    select
    sid, t1.courseid as courseid, price
    from t1, t3
    where t1.courseid = t3.courseid
    ) a;

      分析:

  1. 首先关联出学生所报课程的价格;

    1
    2
    3
    4
    select
    sid, t1.courseid as courseid, price
    from t1, t3
    where t1.courseid = t3.courseid
  2. 使用开窗函数对sid分组得到学生报的每门课程和没门课程对应的价格,然后使用count和sum求得想要的指标;


I wish i had two dogs, one would be given to my parents, one would be with me.

书山有路勤为径,学海无涯苦作舟。

欢迎关注微信公众号:【程序员写书】
程序员写书

喜欢宠物的朋友可以关注:【电巴克宠物Pets】
电巴克宠物

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------