首页 > 试题广场 >

销售表 sales ,具体结构如下: 有四个字段 订单

[问答题]

销售表 sales ,具体结构如下:

有四个字段 订单id(order_id),用户id(id),订单时间(order_time),订单金额(money,订单日期(order_date)

 

Order_id         

订单id

Bigint

User_id

用户id

Bigint

Order_time 

订单时间

Timestamp   

Money

订单金额

Double

Order_date

订单日期(yyyyMMdd格式)      

Varchar

 

1)  求出每个用户的总订单金额,平均订单金额,订单数。

2)求出每天分小时的累计订单金额(注:例如当天0点销售金额为10万,1点销售金额为20万。则0点累计金额为10万,1点累计金额为30万)。


错误做法:

Seletct 分小时,sum(Money) from

(Select Hour(Order_id)as 分小时, Money

From sales)

Group by(分小时)

未进行累加,应该选择窗口分析函数

Select order_date,Hour(order_time)

Sum (Money),over(partition by order_date order by Hour(order_time))

From sale

先根据order_date分组,按照分小时进行排序, 然后对相同字段(分小时)的进行累加

或者

select HOUR(order_time),SUM(Money)

from sales a join sales b on a. HOUR(order_time)<= b. HOUR(order_time)

group by HOUR(order_time)



编辑于 2019-08-26 17:06:03 回复(0)