踏踏实实练习HSQ--day07

简介: 踏踏实实练习HSQ--day07

查询销售件数高于品类平均数的商品

从订单明细表order_detail中查询累积销售件数高于其所属品类平均数的商品期望结果如下

sku_id

name

sum_num

cate_avg_num

2

手机壳

302

110.5

5

破壁机

242

194.75

7

热水壶

252

194.75

8

微波炉

253

194.75

10

帐篷

299

290.5

11

烧烤架

320

290.5

12

遮阳伞

349

290.5

image.png

select
    sku_id,
       name,
       sum_num,
       cate_avg_num
from
(select t1.sku_id,category_id,name,sum_num,
       avg(sum_num) over (partition by category_id ) cate_avg_num
    from
(select sku_id,sum(sku_num) sum_num
from order_detail1
group by sku_id)t1
left join(
    select sku_id,name,category_id
           from sku_info1
    )sku
on t1.sku_id=sku.sku_id)t2
where sum_num>cate_avg_num

image.png

用户注册、登录、下单综合统计

从用户登录明细表(user_login_detail)和订单信息表(order_info)中查询每个用户的注册日期(首次登录日期)、总登录次数以及其在2021年的登录次数、订单数和订单总额。期望结果如下:

user_id

(用户id)

register_date

(注册日期)

total_login_count

(累积登录次数)

login_count_2021

(2021年登录次数)

order_count_2021

(2021年下单次数)

order_amount_2021

(2021年订单金额)

101

2021-09-21

5

5

4

143660.00

102

2021-09-22

4

4

4

177850.00

103

2021-09-23

2

2

4

75890.00

104

2021-09-24

4

4

4

89880.00

105

2021-10-04

1

1

4

120100.00

106

2021-10-04

2

2

4

119150.00

107

2021-09-25

4

4

4

124150.00

108

2021-10-06

2

2

4

155770.00

109

2021-09-26

3

3

4

153500.00

1010

2021-09-27

2

2

4

51950.00

image.png

select login.user_id,
       register_date,
       total_login_count,
       login_count_2021,
       order_count_2021,
       order_amount_2021
from (
         select user_id,
                min(date_format(login_ts, 'yyyy-MM-dd'))    register_date,
                count(1)                                    total_login_count,
                count(if(year(login_ts) = '2021', 1, null)) login_count_2021
         from user_login_detail
         group by user_id
     ) login
         join
     (
         select user_id,
                count(distinct(order_id))          order_count_2021,
                sum(total_amount) order_amount_2021
         from order_info
         where year(create_date) = '2021'
         group by user_id
     ) oi
     on login.user_id = oi.user_id;

查询指定日期的全部商品价格

查询所有商品(sku_info表)截至到2021年10月01号的最新商品价格(需要结合价格修改表进行分析)

image.png

image.png

关键点:在10月1号之前改价不可能只有一次,所以要取得最新的一次价格

select sku_info1.sku_id,
       nvl(new_price, 99) price
from sku_info1
         left join
     (
         select sku_id,
                new_price
         from (
                  select sku_id,
                         new_price,
                         change_date,
                         row_number() over (partition by sku_id order by change_date desc) rn
                  from sku_price_modify_detail1
                  where change_date <= '2021-10-01'
              ) t1
         where rn = 1
     ) t2
     on sku_info1.sku_id = t2.sku_id; 

image.png

相关文章
|
SQL 存储 BI
数仓学习---数仓开发之ADS层
数仓学习---数仓开发之ADS层
1135 1
|
SQL Unix
踏踏实实练习HSQ--day04
踏踏实实练习HSQ--day04
165 5
|
分布式计算 资源调度 数据可视化
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
251 1
|
8月前
|
人工智能 运维 监控
阿里云携手神州灵云打造云内网络性能监测标杆 斩获中国信通院高质量数字化转型十大案例——金保信“云内网络可观测”方案树立云原生运维新范式
2025年,金保信社保卡有限公司联合阿里云与神州灵云申报的《云内网络性能可观测解决方案》入选高质量数字化转型典型案例。该方案基于阿里云飞天企业版,融合云原生引流技术和流量“染色”专利,解决云内运维难题,实现主动预警和精准观测,将故障排查时间从数小时缩短至15分钟,助力企业降本增效,形成可跨行业复制的数字化转型方法论。
483 6
|
SQL 存储 Java
三行五行的 SQL 只存在于教科书和培训班
本文探讨了SQL在实际应用中的复杂性和难度,指出教科书中的SQL例句虽然简单,但现实中的SQL查询往往长达数千行,涉及多层嵌套,对程序员构成挑战。文章分析了SQL的两个主要缺陷:集合化不彻底和缺乏有序支持,并通过具体示例展示了这些问题如何影响SQL的编写。最后,文章推荐使用esProc SPL,一种增强的编程语言,能够更自然地处理集合和有序数据,简化复杂查询的编写。
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(上)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
390 0
|
机器学习/深度学习 自然语言处理 并行计算
深度学习笔记(十四):Transormer知识总结
关于深度学习中Transformer模型的知识总结,涵盖了Self-attention机制、QKV、Multi-head attention、位置编码和并行运算等关键概念,以及如何在PyTorch中实现Self-attention。
266 1
|
机器学习/深度学习 数据采集 算法
数据挖掘和机器学习算法
数据挖掘和机器学习算法
|
存储 JSON 数据处理
数仓学习---数仓开发之DWD层
数仓学习---数仓开发之DWD
1453 6
数仓学习---数仓开发之DWD层