博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Easy之1173.即时食物配送I
阅读量:3716 次
发布时间:2019-05-21

本文共 1119 字,大约阅读时间需要 3 分钟。

配送表: Delivery

Column Name Type
delivery_id int
customer_id int
order_date date
customer_pref_delivery_date date

delivery_id 是表的主键。

该表保存着顾客的食物配送信息,顾客在某个日期下了订单,并指定了一个期望的配送日期(和下单日期相同或者在那之后)。

如果顾客期望的配送日期和下单日期相同,则该订单称为 「即时订单」,否则称为「计划订单」。

问题:

写一条 SQL 查询语句获取即时订单所占的百分比, 保留两位小数。

示例

Delivery 表:

delivery_id customer_id order_date customer_pref_delivery_date
1 1 2019-08-01 2019-08-02
2 5 2019-08-02 2019-08-02
3 1 2019-08-11 2019-08-11
4 3 2019-08-24 2019-08-26
5 4 2019-08-21 2019-08-22
6 2 2019-08-11 2019-08-13

Result 表:

immediate_percentage
33.33

2 和 3 号订单为即时订单,其他的为计划订单。

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/immediate-food-delivery-i
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解答

法一:嵌套

select round(			(select count(*) from delivery 	        where order_date = customer_pref_delivery_date)/        	(select count(*) from delivery)*100,2)        as immediate_percentage

法二:逻辑值之sum

select round(sum(order_date = customer_pref_delivery_date)/			count(*)*100,2) 	   as immediate_percentagefrom delivery

法三:逻辑值之AVG

select round(avg(order_date = customer_pref_delivery_date)*100,2) 	   as immediate_percentagefrom delivery
你可能感兴趣的文章
MYSQL递归查找菜单节点的所有子节点
查看>>
新年快乐
查看>>
MyCat是什么?为什么要用MyCat?
查看>>
你好啊,世界
查看>>
Spark Shuffle详解
查看>>
Spring整合Dubbo/Dubbo总结(二)
查看>>
Dubbo总结(三)
查看>>
IDEA中新建properties文件
查看>>
Mysql错误:check the manual that corresponds to your MySQL server version for the right syntax
查看>>
Dubbo总结(四)
查看>>
Dubbo总结(五)
查看>>
JDK8新特性
查看>>
网络编程
查看>>
File流与IO流 看这一篇就够了
查看>>
Lambda表达式
查看>>
Java常用API
查看>>
Collection、泛型
查看>>
JAVA取得当前日期增加一天或多天
查看>>
echarts自定义y轴刻度信息
查看>>
SQL计算留存率指标
查看>>