【MySQL】sum 函数和 count 函数的相同作用
力扣题
1、题目地址
1174. 即时食物配送 II
2、模拟表
配送表:Delivery
Column Name | Type |
---|---|
delivery_id | int |
customer_id | int |
order_date | date |
customer_pref_delivery_date | date |
- delivery_id 是该表中具有唯一值的列。
- 该表保存着顾客的食物配送信息,顾客在某个日期下了订单,并指定了一个期望的配送日期(和下单日期相同或者在那之后)。
3、要求
如果顾客期望的 配送日期
和 下单日期
相同,则该订单称为 「即时订单」
,否则称为 「计划订单」
。
「首次订单」
是顾客 最早创建的订单
。我们保证一个顾客只会有一个 「首次订单」
。
编写解决方案以获取 即时订单
在 所有用户的首次订单
中的比例。保留 两位小数
。
结果示例如下所示:
示例 1:
输入:
Delivery 表:
delivery_id | customer_id | order_date | customer_pref_delivery_date |
---|---|---|---|
1 | 1 | 2019-08-01 | 2019-08-02 |
2 | 2 | 2019-08-02 | 2019-08-02 |
3 | 1 | 2019-08-11 | 2019-08-12 |
4 | 3 | 2019-08-24 | 2019-08-24 |
5 | 3 | 2019-08-21 | 2019-08-22 |
6 | 2 | 2019-08-11 | 2019-08-13 |
7 | 4 | 2019-08-09 | 2019-08-09 |
输出:
immediate_percentage |
---|
50.00 |
解释:
1 号顾客的 1 号订单是首次订单,并且是计划订单。
2 号顾客的 2 号订单是首次订单,并且是即时订单。
3 号顾客的 5 号订单是首次订单,并且是计划订单。
4 号顾客的 7 号订单是首次订单,并且是即时订单。
因此,一半顾客的首次订单是即时的。
4、代码编写
方法
SELECT ROUND(two.num / COUNT(one.customer_id) * 100,2
) AS immediate_percentage
FROM(SELECT customer_id, MIN(order_date)FROM DeliveryGROUP BY customer_id
) AS one, (SELECT COUNT(customer_id) AS numFROM DeliveryWHERE order_date = customer_pref_delivery_dateAND (customer_id, order_date) IN (SELECT customer_id, MIN(order_date)FROM DeliveryGROUP BY customer_id)
) AS two
| immediate_percentage |
| -------------------- |
| 50 |
方法简写
SELECT ROUND(SUM(order_date = customer_pref_delivery_date) / COUNT(*) * 100,2
) AS immediate_percentage
FROM Delivery
WHERE (customer_id, order_date) IN (SELECT customer_id, MIN(order_date)FROM DeliveryGROUP BY customer_id
)
| immediate_percentage |
| -------------------- |
| 50 |
知识点
- 语法:sum(条件表达式)
- 效果:如果记录满足条件表达式就加1,统计满足条件的行数
- 参考:MySQL 中 sum 和 count 用法总结
相关文章:
【MySQL】sum 函数和 count 函数的相同作用
力扣题 1、题目地址 1174. 即时食物配送 II 2、模拟表 配送表:Delivery Column NameTypedelivery_idintcustomer_idintorder_datedatecustomer_pref_delivery_datedate delivery_id 是该表中具有唯一值的列。该表保存着顾客的食物配送信息,顾客在某…...
在QT Creator下用CMake编译GEOS库
最近,想要在C下编一个可用GDAL模块的地图管理系统,找来找去,找到了GEOS。GEOS(Geometry Engine-Open Source)开源几何引擎 是一个用于计算几何的JTS库的 C/C实现,专注于地理信息系统 (GIS&#…...
【Qt之Quick模块】4. QML语法格式及命名规范
概述 QML(Qt Meta-Object Language)是一种声明式语言,用于设计用户界面。它是由Qt框架提供的一种描述界面组件的语言,可以与C代码结合使用,用于创建跨平台的应用程序。 QML具有以下特点: 声明式ÿ…...
Python内置类属性__class__属性的使用教程
概要 Python作为一种高级编程语言,提供了丰富的功能和灵活性,使得开发人员能够更加方便地处理各种任务。其中一个强大的功能是内置类属性__class__属性。本文将详细介绍__class__属性的用法,帮助读者更好地理解和利用这一功能。 第一部分&am…...
【后台报错】插入时sql报错,varchar撑爆
后台的一个报错。按照正常的需要复现,或者查一下日志。但是凭借多年经验和大胆猜测,以及对自己代码要自信 引用一下文章 目测7*15 105项。每个id有9个数字加上分隔符刚好十个。大概就是超过了定义的一千的varchar长度。直接改数据库就好了。 简单粗暴…...
OpenSergo使用详解
简介 OpenSergo是一个基于微服务治理的标准和生态,覆盖了服务元信息、流量治理、服务容错、数据库/缓存治理、服务注册发现、配置治理等十几个关键领域,覆盖了完整的微服务生命周期(从开发态到测试态,到发布态,再到运…...
Vanilla Pro for Mac 一款隐藏菜单栏图标工具
Vanilla Pro Vanilla Pro是一款简单易于使用的Mac应用程序,可让您隐藏菜单栏图标。只需下载Vanilla,启动应用程序,然后按照提示即可开始。 资源获取 Vanilla Pro for Mac 功能特性 键盘快捷键:设置自定义键盘快捷键来切换菜单…...
freemarkEngine文件ftl的可视化编辑
在做导出word文件功能时,需要准备ftl模板,设置一些通配符,之后通过相关编码,即可以实现业务数据渲染后导出word的功能。但是ftl文件一般我们看不太懂,所以可视化创建和修改就非常合适。 1、安装office2016版本&#x…...
2023 英特尔On技术创新大会直播 | 边云协同加速 AI 解决方案商业化落地
目录 前言边云协同时代背景边缘人工智能边缘挑战英特尔边云协同的创新成果最后 前言 最近观看了英特尔On技术创新大会直播,学到了挺多知识,其中对英特尔高级首席 AI 工程张宇博士讲解的边云协同加速 AI 解决方案商业化落地特别感兴趣。张宇博士讲解了英…...
Q-star计划的更多细节
继续探讨点Q*相关的话题,这个应该是目前X和Reddit上比较火的话题了,其实就是关于Q*的方法是不是让LLM变得会产生意识,会产生自己的好恶和对人类的偏见,关于Q-star的一些介绍可以看我上一篇的扫盲帖 RLAIF方法与传说中的函数Q,揭露OpenAI那不为人知的Qstar计划 (qq.com) 我…...
python3 数据分析项目案例,用python做数据分析案例
本篇文章给大家谈谈python3 数据分析项目案例,以及用python做数据分析案例,希望对各位有所帮助,不要忘了收藏本站喔。 目录 一丶可视化绘图案例 1.曲线图 2.柱形图 3.点线图 4.3D散点图 5. 绘制漏斗图 6. 绘制词云图 二丶包/模块使用示例 (1)…...
Android 12 (InputMethodManagerService) 替换默认输入法为Pinyin输入法
1.问题场景 由于系统自带的Latin输入法不支持遥控器操作,需要替换为RK的拼音输入法。 2. 替换步骤 1)将LatinIME从mk中删除,让系统编译的时候不编译该apk --- a/Android/build/make/target/product/handheld_product.mkb/Android/build/m…...
【模式识别】探秘判别奥秘:Fisher线性判别算法的解密与实战
🌈个人主页:Sarapines Programmer🔥 系列专栏:《模式之谜 | 数据奇迹解码》⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 目录 🌌1 初识模式识…...
【XML】TinyXML 详解
1、简介 优点: TinyXML 是一个简单、小型的 C XML 解析器,可以轻松集成到项目中。 TinyXML 解析 XML 文档,并根据该文档构建可读取、修改和保存的文档对象模型 (DOM) TinyXML 是在 ZLib 许可下发布的,因此可以在开源或商业代码中…...
泛社交裂变场景下AB增量科学评估方案
在数据驱动业务的大环境下,AB实验是对策略效果进行评估的重要指南针,并广泛应用在用增/推荐/搜索/内容/商业化等多个领域,尤其是综合评估多个策略对于大盘影响的对比效果,AB增量的计算就尤为重要。 背景 现在普遍常见的泛社交裂变…...
【无标题】json报错
操作失败,JSON parse error: Cannot deserialize value of type com.alibaba.fastjson.JSONArray from String value (token JsonToken.VALUE_STRING); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize valu…...
MyBatis中延迟加载,全局和局部的开启使用与关闭
文章目录 MyBatis中延迟加载,全局和局部的开启使用与关闭1、问题提出2、延迟加载和立即加载延迟加载立即加载 3、三种对应的表关系中的加载4、打开全局延迟加载(实现一对一的延迟加载)5、实现一对多的延迟加载(将上面设置的全局延…...
MyBatis增删改查基础及其xml文件
目录 一.增删改查基础 1.增 增Insert 获取自增ID 对insert参数进行重命名 2.删 3.改 4.查 1)对MySQL查询结果进行重命名 从MySQL层面--as 从mybatis层面--Results注解 复用Results的定义 2)配置自动转换驼峰命名(推荐) 二.Mybatis xml配置…...
视觉学习(1)—— 理论
一、提问 初入视觉的几个问题: 1、视觉是怎么被控制的 2、怎么让视觉启动 3、视觉需要完成什么东西 4、视觉启动如何将完成的东西反馈给我 二、回答 1、视觉都是通过通讯协议控制,如串口、Modbus TCP等协议 2、视觉中的所有功能块都在流程中&…...
pip 常用指令 pip list 命令用法介绍
📑pip 常用命令归类整理 pip list 是一个用于列出已安装的 Python 包的命令。这个命令会显示出所有已安装的包,以及它们的版本号。 pip list 命令有以下参数 -o, --outdated:列出所有过时的包,即有新版本可用的包。-u, --uptod…...
【DP】62.不同路径
题目 法1:二维DP 必须掌握! class Solution {public int uniquePaths(int m, int n) {int[][] matrix new int[m][n];Arrays.fill(matrix[0], 1);for (int i 0; i < m; i) {matrix[i][0] 1;}for (int i 1; i < m; i) {for (int j 1; j <…...
大数据、知识图谱和强化学习的综合应用
大数据、知识图谱和强化学习各自在不同的方面都发挥了重要作用,它们分别涉及了大规模数据的处理和挖掘、基于图的数据结构和信息提取,以及基于奖励反馈的决策制定。将它们结合使用,可以构建出更加强大和智能的系统。以下是一些可能的应用场景…...
MFC使用高速绘图控件high-speed Charting Control绘制柱形图
1. 创建MFC单文档工程BarChartDemo。 2. 在工程文件夹下新建文件夹ChartCtrl,将ChartCtrl源码放入,如下图所示。在工程中添加这些项,项目——添加——现有项,全部添加。 3. 添加一个对话框,ID为IDD_DLG_BAR,类名为CBarDlg。 4. 在对话框中添加Custom Control控件,将控…...
vue3 H5项目中实现PDF预览
是需要npm i vue-pdf-embed 安装这个插件的,可兼容ios/Android,下面是本人的使用实例 <template><div class"conten_box"><vue-pdf-embed v-if"pdfSource.url" :source"pdfSource" /></div> <…...
【WebRTC---源码篇】(十一:一)采集编码发送期间使用时间戳的详细解读
一、时间戳定义 1、 NTP时间 NtpTime RealTimeClock::CurrentNtpTime() //获取从1900-01-01 00:00.00到当前时刻经过的时间 int64_t RealTimeClock::CurrentNtpInMilliseconds() //获取从1900-01-01 00:00.00到当前时刻经过的毫秒数,ms int64_t rtc::TimeUTCMicros() //获取…...
Python学习路线 - Python语言基础入门 - Python异常、模块与包
Python学习路线 - Python语言基础入门 - Python异常、模块与包 了解异常什么是异常bug单词的诞生异常演示 异常的捕获方法为什么要捕获异常捕获常规异常捕获指定异常捕获多个异常捕获异常并输出描述信息捕获所有异常异常 else异常的finally 异常的传递Python模块什么是模块模块…...
eventbus,在this.$on监听事件时无法在获取数据
问题:vue中eventbus被多次触发,在this.$on监听事件时,内部的this发生改变导致,无法在vue实例中添加数据。 项目场景 一开始的需求是这样的,为了实现两个组件(A.vue ,B.vue)之间的数据传递。 页面A,点击页面…...
【Python必做100题】之第二十五题(统计字符)
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数 代码如下: string input("请输入字符串:")char 0 number 0 space 0 other 0for i in string:if i.isalpha():char 1elif i.isdigit():number 1eli…...
开发语言:ArkTS
简介 ArkTS是华为为鸿蒙操作系统(HarmonyOS)开发的一种应用开发语言。这种语言在TypeScript(简称TS)的基础上进行了扩展,以更好地适应鸿蒙系统的特点和开发需求。ArkTS不仅继承了TS的所有特性,而且还对TS的…...
Qt中字符串转换为JS的函数执行
简介 在 QML 中,将 JavaScript 字符串转换为函数通常涉及使用 Function 构造函数或 eval() 函数。但是,QML 的环境对 JavaScript 的支持有一定的限制,因此不是所有的 JavaScript 功能都可以在 QML 中直接使用。 以下介绍都是在Qt5.12.1…...
免费模板样机素材网站/安徽网站优化
前段时间编译安装的一个mplayer1.1版的播放器,播放文件没有声音,每次执行以下命令可以听,但一重启系统又不行了. #modprobe snd_pcm_oss #echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss #mplayer gongxi.mp3 有一…...
番禺区建设局网站/seo招聘职责
通过Flash的正弦函数可以模拟钟摆: 1、新建一fla文件,命名钟摆.fla 2、F9,在帧上添加脚本,如下: var mc:Sprite new Sprite ;addChild(mc);mc.graphics.lineStyle(3,0xff0066);mc.graphics.moveTo(0,0);mc.graphics.…...
做标识的网站 知乎/seo检测
对 Linux 新手非常有用的 20 个命令 http://www.oschina.net/translate/useful-linux-commands-for-newbies 对 Linux 中级用户非常有用的 20 个命令 http://www.oschina.net/translate/20-advanced-commands-for-linux-experts 对 Linux 专家非常有用的 20 个命令 http://www.…...
wordpress后台操作教程/昭通网站seo
今天看视频教程无意间看到了一个数3减1的问题,百度之发现叫约瑟夫环问题,于是写了程序,问题大致描述如下: 一群带有编号的孩子手拉手围成一个圈报数,开始的孩子数1,他右边数2,再右边数3…...
济南软件开发培训机构/杭州网站seo价格
一次在使用json.dumps()过程中,出现错误提示:ERROR:"UnicodeDecodeError: utf8 codec cant decode byte 0xe1 in position 5: unexpected end of data"通过错误提示我们知道,肯定是编码问题,找到问题所在&am…...
wordpress扁平化主题/成都seo的方法
——阶段 动态规划问题通常都具有时间或空间上的次序性,因此求解这类问题时,首先要将问题按一定的次序划分成若干相互联系的阶段,以便能按一定次序去求解。如例1,可以按空间次序划分为A—B—C—D—E 4个阶段,而例2&…...