当前位置: 首页 > news >正文

Mysql每日一题(行程与用户,困难※)

 今天给大家分享一个截止到目前位置,我遇到最难的一道mysql题目,非常建议大家亲手做一遍

 

 完整代码如下,这道题的主要难点是它有两个外键,以前没遇到过,我也没当回事,分享一下错误经验哈

当时我写的where判断条件是

where Users.banned="No" and(Trips.client_id=Users.users_id or Trips.driver_id=Users.users_id)

当时我就认为和下面代码写的

from Trips as T

inner join Users as U1 on T.client_id=U1.users_id

inner join Users as U2 on T.driver_id=U2.users_id

where U1.banned="No" and U2.banned="No"一样

我觉得系统应该会在我的系统应该像循环一样再判断完Trips.client_id=Users.users_id or 后,帮我分别判断一下

Trips.client_id=Users.users_id的时候Users.banned="No"?

Trips.driver_id=Users.users_id的时候Users.banned="No"?

结果并不会,给大家看一些官方题解,其中就介绍了这个问题

 

 反正我是狠狠的跳进了这个设计好的坑里,一直爬不出来,知道看了题解,这个题目我觉得很好,以后我希望我会经常拿出来看看。

select T2.request_at as "Day",ifnull(round(T1.c/T2.c,2),0) as "Cancellation Rate"
from (select T.request_at,ifnull(count(*),0) as c
from Trips as T 
inner join Users as U1 on T.client_id=U1.users_id
inner join Users as U2 on T.driver_id=U2.users_id
where U1.banned="No" and U2.banned="No"
group by T.request_at) as T2 left join 
(select T.request_at,ifnull(count(*),0) as c
from Trips as T 
inner join Users as U1 on T.client_id=U1.users_id
inner join Users as U2 on T.driver_id=U2.users_id
where U1.banned="No" and U2.banned="No" and T.status Like "ca%"
group by T.request_at) as T1 on T1.request_at=T2.request_at;

http://www.lryc.cn/news/483948.html

相关文章:

  • adb 命令 查找启动的包名以及导出安装包
  • Flink_DataStreamAPI_输出算子Sink
  • 标准C++ 字符串
  • 时序预测:多头注意力+宽度学习
  • day06(单片机)IIC+STH20
  • Bugku CTF_Web——文件上传
  • C#版使用融合通信API发送手机短信息
  • 人工智能:重塑医疗、企业与生活的未来知识管理——以HelpLook为例
  • MVVM(Model-View-ViewModel)模型
  • 权限系统:权限应用服务设计
  • Android音频架构
  • AI 智享直播:开启直播新篇,引领未来互动新趋势!
  • 【AIGC】国内AI工具复现GPTs效果详解
  • Charles抓https包-配置系统证书(雷电)
  • 在卷积神经网络中真正占用内存的是什么
  • 2024 ECCV | DualDn: 通过可微ISP进行双域去噪
  • Elasticsearch 和 Kibana 8.16:Kibana 获得上下文和 BBQ 速度并节省开支!
  • Linux 抓包工具 --- tcpdump
  • Vector Optimization – Stride
  • git config是做什么的?
  • 计算机网络(7) 数据链路层
  • 2024年秋国开电大《建筑结构试验》形考任务1-4
  • 【MySQL】explain之type类型
  • Llama架构及代码详解
  • Android onConfigurationChanged 基础配置
  • 3. Sharding-Jdbc核⼼流 程+多种分⽚策略
  • 为什么财富的蓝图如此重要
  • 【云计算解决方案面试整理】1-2云计算基础概念及云计算技术原理
  • 循环语句 while()... 与 for()...(day11)
  • Mysql篇-三大日志