题解 | #有取消订单记录的司机平均评分#

有取消订单记录的司机平均评分

http://www.nowcoder.com/practice/f022c9ec81044d4bb7e0711ab794531a

# 思路:
# 1、将订单表中有取消记录的司机的订单记录提取出来
# 2、计算全体平均数,driver_id设为总体,形成表1
# 3、计算每个司机平均评分,形成表1
# 4、将表1 和表2union连接

select t2.driver_id,round(AVG(t2.grade),1) as avg_grade from (
# 将有取消记录的司机的订单记录提取
select c1.driver_id,c1.grade from tb_get_car_order as c1 
where c1.driver_id in 
(select c2.driver_id from tb_get_car_order as c2 
where c2.start_time is null )) t2 
group by t2.driver_id 
union 
select '总体' as driver_id,round(AVG(t1.grade),1) as avg_grade from (
# 将有取消记录的司机的订单记录提取
select c1.driver_id,c1.grade from tb_get_car_order as c1 
where c1.driver_id in 
(select c2.driver_id from tb_get_car_order as c2 
where c2.start_time is null )) t1 


全部评论

相关推荐

MGlory:我当初有一个老师告诉我简历要写的简单,最好只一面,项目可以写核心的,进面了自然会问你的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务