本文主要是介绍每日一题-69(即时食物配送2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题69:
根据下表写一条 SQL 查询语句获取即时订单在所有用户的首次订单中的比例,结果保留两位小数。
其中:delivery_id 是表的主键,该表保存着顾客的食物配送信息,顾客在某个日期下了订单,并指定了一个期望的配送日期(和下单日期相同或者在那之后)。
解题思路:
(1)按照用户分组,筛选出所有首次订单 ;
(2)针对首次订单遍历记录并标记。
select round (sum(order_date = customer_pref_delivery_date) * 100 /count(*),--计算即时订单在所有用户的首次订单中的比例2--用round函数保留两位小数
) as immediate_percentage
from Delivery
where (customer_id, order_date) in (select customer_id, min(order_date)--查询首单客户的idfrom Deliverygroup by customer_id
);
这篇关于每日一题-69(即时食物配送2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!