踏踏实实练习HSQ--day02

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

每个商品销售首年的年份、销售数量和销售金额

题目需求

从订单明细表(order_detail)统计每个商品销售首年的年份,销售数量和销售总额。

期望结果如下:

sku_id

(商品id)

year

销售首年年份

order_num

首年销量

order_amount

首年销售金额

1

2021

51

102000.00

2

2021

302

3020.00

3

2021

36

180000.00

4

2021

53

318000.00

5

2021

242

121000.00

6

2021

32

64000.00

7

2021

252

25200.00

8

2021

253

151800.00

9

2021

194

194000.00

10

2021

299

29900.00

11

2021

320

16000.00

12

2021

349

6980.00

image.png

我做的:

select sku_id,order_amount,year,order_num
from
(select sku_id,sum(price*sku_num) as order_amount
,substring(create_date,1,4) as year,
 sum(sku_num) as order_num,
row_number() over(partition by sku_id order by substring(create_date,1,4)) as rn
from order_detail
group by sku_id,substring(create_date,1,4))t1
where rn=1

官方答案:

hive> 
select sku_id,
       year(create_date),
       sum(sku_num),
       sum(price*sku_num)
from (
         select order_id,
                sku_id,
                price,
                sku_num,
                create_date,
                rank() over (partition by sku_id order by year(create_date)) rk
         from order_detail
     ) t1
where rk = 1
group by sku_id,year(create_date);


相关文章
|
8月前
踏踏实实练习HSQ--day07
踏踏实实练习HSQ--day07
|
8月前
踏踏实实练习HSQ--day06
踏踏实实练习HSQ--day06
|
8月前
|
SQL Unix
踏踏实实练习HSQ--day04
踏踏实实练习HSQ--day04
|
7月前
|
程序员 定位技术 C语言
老程序员分享:PaoptMap
老程序员分享:PaoptMap
37 1
|
8月前
|
SQL
踏踏实实练习HSQ--day03
踏踏实实练习HSQ--day03
|
8月前
踏踏实实练习HSQ--day01
踏踏实实练习HSQ--day01
|
8月前
|
机器人 程序员 C++
Scratch3.0——助力新进程序员理解程序(案例一十三、黑红相见)
Scratch3.0——助力新进程序员理解程序(案例一十三、黑红相见)
64 0
读书计划--凤凰项目
读书计划--凤凰项目
|
小程序 前端开发 物联网
【CodeLab 科技创新营】浙大医学博士跨界学习敲代码,抢程序员饭碗?
蚂蚁金服金融科技牵头举办的「CodeLab科技创新营」不知不觉中迎来了第5期,这一站创新营去到了美丽的浙江大学。 浙大撞上蚂蚁,又有着什么样的故事呢~
【CodeLab 科技创新营】浙大医学博士跨界学习敲代码,抢程序员饭碗?
|
Windows 数据挖掘 索引
Bioconductor的地基--IRanges
Bioconductor的地基--IRanges Bioconductor是一个开源项目,包括许多R生物信息学包。这里,首先介绍Bioconductor的核心包: GenomicRanges: 用于表示和使用基因组范围,genomic ranges ...
1600 0