47. 打车问题

文章目录

        • 题目需求
        • 实现一
        • 题目来源

题目需求

现有用户下单表(get_car_record)如下。

uid (用户id)city (城市)event_time (下单时间)end_time (结束时间:取消或者接单)order_id (订单id)
107北京2021-09-20 11:00:002021-09-20 11:00:309017
108北京2021-09-20 21:00:002021-09-20 21:00:409008
108北京2021-09-20 18:59:302021-09-20 19:01:009018
102北京2021-09-21 08:59:002021-09-21 09:01:009002

司机订单信息表(get_car_order)如下。

order_id (课程id)uid (用户id)driver_id (用户id)order_time (接单时间)start_time (开始时间)finish_time (结束时间)fare (费用)grade (评分)
90171072132021-09-20 11:00:302021-09-20 11:02:102021-09-20 11:31:00385
90081082042021-09-20 21:00:402021-09-20 21:03:002021-09-20 21:31:00384
90181082142021-09-20 19:01:002021-09-20 19:04:502021-09-20 19:21:00385

统计周一到周五各时段的叫车量、平均等待接单时间和平均调度时间。

各时段以 event_time 为划分依据,平均等待接单时间和平均调度时间均保留2位小数。

平均调度时间仅计算完成了的订单,结果按叫车量升序排序。

注:不同时段定义:早高峰 [07:00:00 , 09:00:00)、工作时间 [09:00:00 , 17:00:00)、晚高峰 [17:00:00 ,20:00:00)、休息时间 [20:00:00 , 07:00:00) 时间区间左闭右开(即7:00:00算作早高峰,而9:00:00不算做早高峰)

从开始打车到司机接单为等待接单时间,从司机接单到上车为调度时间。

期望结果如下(截取部分):

period (时段)get_car_num (叫车量)wait_time <decimal(16,2)> (等待时长)dispatch_time <decimal(16,2)> (调度时长)
工作时间10.501.67
休息时间10.672.33
晚高峰32.067.28
早高峰42.218.00

实现一

-- 下单 --> 接单:等待接单时间
-- 接单 --> 上车:调度时间
-- 时间划分依据:event_timewith info as (select-- 等待接单时间unix_timestamp(order_time) - unix_timestamp(event_time) as wait_time,-- 调度时间unix_timestamp(start_time) - unix_timestamp(order_time) as dispatch_time,casewhen 7 <= hour(event_time) and hour(event_time) < 9 then '早高峰'when 9 <= hour(event_time) and hour(event_time) < 17 then '工作时间'when 17 <= hour(event_time) and hour(event_time) < 20 then '晚高峰'else '休息时间'end                                                 as periodfrom get_car_recordjoin get_car_orderon get_car_record.order_id = get_car_order.order_id
)
select period                                                     as period,count(*)                                                   as get_car_num,cast(sum(wait_time) / count(*) / 60 as decimal(16, 2))     as wait_time,cast(sum(dispatch_time) / count(*) / 60 as decimal(16, 2)) as dispatch_time
from info
group by period
order by get_car_num;

题目来源

http://practice.atguigu.cn/#/question/47/desc?qType=SQL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/66366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode622-设计循环队列

本题重点&#xff1a; 1. 选择合适的数据结构 2. 针对选择的数据结构判断“空”和“满” 这两点是不分先后次序的&#xff0c;在思考时应该被综合起来。事实上&#xff0c;无论我们选择链表还是数组&#xff0c;最终都能实现题中描述的“循环队列”的功能&#xff0c;只不过…

vscode远程调试php

使用vscode远程调试php的方法 1.安装remote ssh插件 2.连接服务器 可以点击左下角的绿色按钮&#xff0c;或者ctrlshiftp打开命令框输入remote ssh应该也有。 3.在服务器端vscode安装php debug插件 4.安装xdebug xdebug是用来调试php的软件&#xff0c;原本和vscode没什么关…

iBooker 技术评论 20230831

一、轻资产项目的五类分类 轻资产项目不需要投资&#xff0c;但也不是所有人都做得了&#xff0c;取决于个人认知和能力水平限制。 就好比以前的各科题目&#xff0c;你也不是都能做吧&#xff1f; 我以前刷题的时候&#xff0c;喜欢把题目按照难易程度分五类。现在做项目和…

人工智能研究的未来:20 年机器学习和深度学习的论文创意!

“机器学习的美妙之处在于&#xff0c;它可以应用于你想要解决的任何问题&#xff0c;只要你能为计算机提供足够的例子。” 一、说明 该文章列出了 20 年机器学习和深度学习本科课程的 2023 个潜在论文想法。每个论文的想法都包括一个介绍&#xff0c;简要概述了主题和研究目标…

【Spring Security】使用 OncePerRequestFilter 过滤器校验登录过期、请求日志等操作

文章目录 前言OncePerRequestFilter 使用检查是否登录过期过滤器检查是否登录过期过滤器 SecurityConfiguration 配置 前言 OncePerRequestFilter 是一个过滤器&#xff0c;每个请求都会执行一次&#xff1b;一般开发中主要是做检查是否已登录、Token是否过期和授权等操作&…

明厨亮灶监控实施方案 opencv

明厨亮灶监控实施方案通过pythonopencv网络模型图像识别算法&#xff0c;一旦发现现场人员没有正确佩戴厨师帽或厨师服&#xff0c;及时发现明火离岗、不戴口罩、厨房抽烟、老鼠出没以及陌生人进入后厨等问题生成告警信息并进行提示。OpenCV是一个基于Apache2.0许可&#xff08…

【Ubuntu】解决ubuntu虚拟机和物理机之间复制粘贴问题(无需桌面工具)

解决Ubuntu虚拟机和物理机之间复制粘贴问题 第一步 先删除原来的vmware tools&#xff08;如果有的话&#xff09; sudo apt-get autoremove open-vm-tools第二步 安装软件包&#xff0c;一般都是用的desktop版本&#xff08;如果是server换一下&#xff09; sudo apt-get …

计算机视觉的应用12-卷积神经网络中图像特征提取的可视化研究,让大家理解特征提取的全过程

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用12-卷积神经网络中图像特征提取的可视化研究&#xff0c;让大家理解特征提取的全过程。 要理解卷积神经网络中图像特征提取的全过程&#xff0c;我们可以将其比喻为人脑对视觉信息的处理过程。就像…

springboot中entity层、dto层、vo层通俗理解三者的区别

entity&#xff1a;这个类的属性是跟数据库字段一模一样的&#xff08;驼峰命名&#xff09;&#xff0c;当我们使用MyBatis-Plus的时候经常用得到。 dto&#xff1a;用于后端接收前端返回的数据&#xff0c;一般是post请求&#xff0c;前端会给我们返回一个json对象&#xff…

js实现一行半文本的截取

最近遇到一个需求是要在第二行的中间截取文本&#xff0c;因为在后面得贴一个图标&#xff0c;所以这种情况用常规的css截取文本有点难处理。于是在上网查阅后发现了几个方法&#xff1a;第一种是用伪元素加定位&#xff0c;把.&#xff1b;11..盖在文字的上面&#xff1b;第二…

03_nodejd_npm install报错

npm install报错 npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: 5kcrm11.0.0 npm ERR! Found: vue2.5.17 npm ERR! node_modules/vue npm ERR! vue"2.5.17" from the root project npm ERR! np…

FC-CLIP-卷积永存:开放词汇分割与单一冻结卷积CLIP

论文链接&#xff1a;https://arxiv.org/abs/2308.02487 Github&#xff1a;GitHub - bytedance/fc-clip: This repo contains the code for our paper Convolutions Die Hard: Open-Vocabulary Segmentation with Single Frozen Convolutional CLIP 机构&#xff1a;约翰霍普…

【ES6】JavaScript中Reflect

Reflect是JavaScript中的一个内建对象&#xff0c;它提供了一组方法&#xff0c;用于对对象和函数进行操作和检查。这些方法与内建对象的方法非常相似&#xff0c;但具有更高的灵活性。 以下是Reflect对象的一些常用方法&#xff1a; 1、Reflect.apply(target, thisArgument,…

基于Java的OA办公管理系统,Spring Boot框架,vue技术,mysql数据库,前台+后台,完美运行,有一万一千字论文。

基于Java的OA办公管理系统&#xff0c;Spring Boot框架&#xff0c;vue技术&#xff0c;mysql数据库&#xff0c;前台后台&#xff0c;完美运行&#xff0c;有一万一千字论文。 系统中的功能模块主要是实现管理员和员工的管理&#xff1b; 管理员&#xff1a;个人中心、普通员工…

【每日一题】1275. 找出井字棋的获胜者

1275. 找出井字棋的获胜者 - 力扣&#xff08;LeetCode&#xff09; A 和 B 在一个 3 x 3 的网格上玩井字棋。 井字棋游戏的规则如下&#xff1a; 玩家轮流将棋子放在空方格 (" ") 上。第一个玩家 A 总是用 "X" 作为棋子&#xff0c;而第二个玩家 B 总是用…

PyQt和Qt的其他绑定(如PySide)相比有什么优势和劣势?

作为一个新手&#xff0c;你可能会对PyQt和Qt的其他绑定&#xff08;如PySide&#xff09;之间的优势和劣势感到困惑。没问题&#xff0c;这很正常。我们先来谈谈优势吧。 首先&#xff0c;PyQt是由C编写的&#xff0c;因此它具有强大的跨平台支持。这意味着无论你使用的是Win…

Orangepi 香橙派配置wifi网络

查看wifi 列表 sudo nmcli d wifi 断开wifi连接 sudo nmcli dev dis wlan0 查看设备情况 sudo nmcli d 连接wifi nmcli device wifi connect aair password 123456 删除wifi连接 nmcli con del wifiaaaa 重启网络&#xff1a; sudo service NetworkManager restart 或 su…

C++中的语法知识虚继承和虚基类

多继承(Multiple Inheritance)是指从多个直接基类中产生派生类的能力,多继承的派生类继承了所有父类的成员。尽管概念上非常简单,但是多个基类的相互交织可能会带来错综复杂的设计问题,命名冲突就是不可回避的一个。 多继承时很容易产生命名冲突,即使我们很小心地将所有类…

PQUEUE - Printer Queue

题目描述 The only printer in the computer science students union is experiencing an extremely heavy workload. Sometimes there are a hundred jobs in the printer queue and you may have to wait for hours to get a single page of output. Because some jobs are …

HTTP/1.1协议的状态码

2023年8月30日&#xff0c;周三下午 HTTP/1.1协议定义了一组状态码&#xff0c;用于表示请求的处理结果。 每个状态码都有特定的含义&#xff0c;它们以三位数字的形式出现在响应的状态行中。 下面是一些常见的HTTP/1.1协议的状态码及其含义&#xff1a; 1xx&#xff08;信息…