MYSQL练题笔记-聚合函数-即时食物配送

我做完上一道题,决定总结一下了,因为现在还是没有一个我认为好的思路去构造语句,这里开始试一试新的思路。果然想要好一点的时候,总是像便秘一下,真的想拉,但是真的难拉啊

一、题目相关内容

1)相关的表和题目

2)帮助理解题目的示例,提供返回结果的格式

二、初步的理解和尝试

1.理解这个表的作用,他的作用是什么?

配送的信息:

delivery_id是主键,配送这件事是不能重复。

Customer_id 发起这个配送的人的id。

order_date客户下单时间

customer_pref_delivery_date 客户指定下单时间

理解了表的目的,需要根据订单的某些信息,把这个订单进行分类。

解题的重点是获取每个用户的即时订单,每个用户的首次订单,最后获取所有用户的的首次订单是即时订单的比率。通过用户Id分组,找出首次订单(回过来其实这个思路还行但是没办法和很多事情结合起来。)

2.第一次尝试

Select Round((Min(order_date)= customer_pref_delivery_date)/count(*)*100,2) as

immediate_percentage from delivery group by customer_id;

我没能理解为什么是这样的结果,过了一天有想法了,就是每一个取值都有,说明我之前的理解还是有错误,要用sum,然后下面是一顿乱操作没有一个对的,现在不是到为什么错,以后做分析吧。

3.又一次尝试

Select Round(count(Min(order_date)= customer_pref_delivery_date)/count(*)*100,2) as

immediate_percentage from delivery group by customer_id;

又有这样的报错

4.又一次尝试

Select Round(select count(1) from delivery where (Min(order_date)= customer_pref_delivery_date)/count(*)*100,2) as

immediate_percentage from delivery group by customer_id;

5.又一次尝试

Select Round(sum(count(Min(order_date)= customer_pref_delivery_date))/count(*)*100,2) as

immediate_percentage from delivery group by customer_id;

三、题解展示和分析

还是看题解了,这一题还是没想出来。

好牛,先把所有用户的首次订单筛选出来,然后算首次订单里面同时也是即使订单的记录数,除以总记录数就行了。

这里还有一个新的用法 where in。

我的理解是字段在in后面的条件里的记录可表示出来。

Where通过in的方式提取,很需要思考,什么情况能这样做呢?                                                

四、总结

1.where in  没太多的想法,因为我认为还没掌握这个方法,只做个简单的记录。

2.让人成长也是挫败的一题啊。

相关推荐

  1. 【LeetCode】1174. 即时食物配送 II

    2023-12-08 04:50:08       53 阅读
  2. MYSQL学习——聚合函数

    2023-12-08 04:50:08       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 04:50:08       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 04:50:08       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 04:50:08       87 阅读
  4. Python语言-面向对象

    2023-12-08 04:50:08       96 阅读

热门阅读

  1. 软件测试面试题及答案解析

    2023-12-08 04:50:08       53 阅读
  2. JuiceFS 在多云存储架构中的应用 | 深势科技分享

    2023-12-08 04:50:08       48 阅读
  3. 关于Nuxt.js 服务端组件的使用

    2023-12-08 04:50:08       55 阅读
  4. 一些es查询的资料

    2023-12-08 04:50:08       56 阅读
  5. IoU、GIoU、CIoU和DIoU

    2023-12-08 04:50:08       50 阅读
  6. php中WebSocket简单使用

    2023-12-08 04:50:08       59 阅读
  7. 不修改数据库更换WordPress域名

    2023-12-08 04:50:08       61 阅读
  8. 汽车标定技术(十)--从CPU角度观察Overlay实现原理

    2023-12-08 04:50:08       55 阅读
  9. Docker 一些设置

    2023-12-08 04:50:08       60 阅读
  10. 服务器如何修改密码

    2023-12-08 04:50:08       55 阅读
  11. 《路由与交换技术》读书笔记

    2023-12-08 04:50:08       56 阅读