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

leetcode刷MySQL记录——sum/count里加条件判断、avg求满足条件记录数占比

leetcode题目:1934. 确认率

在刷leetcode的MySQL题中,从题目的题解知道了count和avg聚合函数的另外用法,在此记录。

count() 里加条件判断

count函数用于统计在符合搜索条件的记录中,指定的表达式expr不为NULL的行数有多少(只要不为NULL都会进行统计)。这里需要特别注意的是,expr不仅仅可以是列名,其他任意表达式都是可以的。

还看到一篇文章说,在MySQL里,count(*) 会把*变为0,即count(0),而0不等于NULL,所以相当于记录表中的总记录数。

刚开始一直弄不明白题解的答案,经过不断尝试后,知道了count的实际运行效果,如下

count(age > 10)  -> 不管条件成不成立,都会用age的实际值去计数,只要age不为null都会累计
count(age > 10 or null) -> 符合条件,用age的实际值去计数,只要age不为null都会累计-> 不符合条件,则取or后跟的值,这里为null,即count(null),count对null不计数
count(1) / count(null) -> 出现除以0的非法情况,结果会返回null
-- 统计年龄大于19岁的用户人数
-- 以下三种写法等价
select count(age <  19 or null) from user 
select count(if(age <  19, 1, null)) from user 
select count(case when age <  19 then 1 end) from user 

avg() 求符合条件的记录数占比

AVG除了可以计算某字段的均值外,还可以计算符合条件的记录数占比,AVG(判断条件) = 满足“判断条件”为True的记录数 / 总记录数,即每个user_id分组中满足“action = 'confirmed'”的行数占该组总行数的比例

sum()函数里加条件判断

# Write your MySQL query statement below
select a.user_id,
round(sum(if (b.action='confirmed',1.00,0.00)) / count(a.user_id), 2) as confirmation_rate 
from Signups a left join Confirmations b on a.user_id = b. user_id
group by a.user_id

参考:

必看!大家困惑的AVG写法的解释!简单易懂!

【确认率】使用count()函数并添加筛选条件

sum+iif 题解

Mysql count 带条件计数

MySQL Count函数使用教程

 

相关文章:

leetcode刷MySQL记录——sum/count里加条件判断、avg求满足条件记录数占比

leetcode题目&#xff1a;1934. 确认率 在刷leetcode的MySQL题中&#xff0c;从题目的题解知道了count和avg聚合函数的另外用法&#xff0c;在此记录。 count() 里加条件判断 count函数用于统计在符合搜索条件的记录中&#xff0c;指定的表达式expr不为NULL的行数有多少&…...

PHP的SHA256WithRSA签名和Curl POST请求函数

getCustomerEncryptionKey - 获取加密秘钥 /** * 获取加密秘钥 * param array $params * return string */ public function getCustomerEncryptionKey(array $params): string { //1.ASCII码&#xff08;字典序-升序&#xff09;排序…...

5G RAN

两个entity&#xff1a;NodeB、UE entity之间传输数据的东东 entity内部的流水线岗位&#xff1a;L3/L2/L1 岗位之间是消息交互/信令交互...

Mybatis动态sql标签

动态SQL标签简介: MyBatis的一个强大的特性之一通常是它的动态SQL能力。如果你有使用JDBC或其他相似框架的经验,你就明白条件地串联SQL字符串在一起是多么的痛苦,确保不能忘了空格或在列表的最后省略逗号。动态SQL可以彻底处理这种痛苦。 Mybatis中实现动态sql的标签有&#x…...

Linux CentOS Suhosin禁用php5.6版本eval函数详细图文教程

方法一&#xff1a;PHP_diseval_extension禁用 Linux CentOS 禁用php的eval函数详细图文教程_centos php 禁用 eval-CSDN博客 这个方法make报错&#xff0c;懒得费时间处理&#xff0c;直接用第二种 方法二&#xff1a;suhosin禁用 服务器只装了一个PHP5.6版本&#xff0c;一…...

这5招底层逆袭玄学,一个人越来越厉害的秘诀

在这个充满机遇与挑战的时代&#xff0c;每个人都渴望能够逆袭成功&#xff0c;摆脱底层的束缚&#xff0c;成为人生赢家。 然而&#xff0c;现实往往是残酷的&#xff0c;许多人在追逐梦想的路上遭遇挫折&#xff0c;甚至迷失了方向。 那么&#xff0c;有没有一些&#xff02;…...

MySQL自学教程:1. MySQL简介与安装

MySQL简介与安装 一、MySQL简介二、MySQL安装(一)Windows系统上的安装(二)Linux系统上的安装(以Ubuntu为例)(三)Mac OS系统上的安装三、安装后的基本配置四、总结一、MySQL简介 MySQL是一个流行的开源关系型数据库管理系统(RDBMS),广泛应用于各种业务场景,从小型个…...

Jenkins多stage共享同一变量方式

在第一个stage中为这个变量赋值&#xff0c;在其它stage中使用这个变量 import java.nio.file.Files import java.nio.file.Path import java.nio.file.Paths import java.nio.file.StandardCopyOption import groovy.json.JsonOutput import groovy.json.JsonSlurper// 共享的…...

Ant design Vue 表格中显示不同的状态(多条件显示)

比如&#xff1a;后端一个字段有多种状态&#xff1a; 那么后端接口会返回&#xff1a;0 或者 1 或者 2 其中一个&#xff0c;前端需要展示的是对应的文字&#xff0c;像简单的只有两个状态的可以直接在列里面操作&#xff1a; {title: 状态,dataIndex: usable,customRender: …...

如何借助物联网实现土壤监测与保护

如何借助物联网实现土壤监测与保护 高标准农田信息化是指利用现代信息技术&#xff0c;如物联网、大数据、云计算等&#xff0c;对农田进行数字化、智能化的管理&#xff0c;以提高农田的生产效率和可持续发展能力。其中&#xff0c;土壤监测与保护是农田信息化的重要内容之一…...

Linux之prometheus安装和使用简介(一)

一、prometheus简介 普罗米修斯Prometheus是一个开源系统监控和警报工具包&#xff0c;最初构建于SoundCloud。自2012年成立以来&#xff0c;许多公司和组织都采用了普罗米修斯&#xff0c;该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立的开源项目&#xff0c;独立…...

orcle数据表空间操作sql

orcle数据表空间操作sql 1.查询表空间路径&#xff1a; select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts#t2.ts#2.删除表空间和空间里的表&#xff1a; drop tablespace LTSYSDATA01 including contents and datafiles;1、表空间的路径、名称查询&…...

【Unity Android】Unity链接安卓手机调试

一、物理连接手机 1.USB数据线链接 2.打开开发者模式 大部分手机在手机设置->系统管理->关于手机->软件版本型号中&#xff0c;点击7次以上&#xff0c;来开启系统管理中的开发者模式选项。 3.打开USB调试 打开开发者模式后&#xff0c;开启USB调试 二、Unity中…...

数据结构与算法笔记:高级篇 - 概率统计:如何利用朴素贝叶斯算法过滤垃圾短信?

概述 上篇文章我们讲到&#xff0c;如何用位图、布隆过滤器&#xff0c;来过滤重复数据。本章&#xff0c;我们再讲一个跟过滤相关的问题&#xff0c;如果过滤垃圾短信&#xff1f; 垃圾短信和骚扰电话&#xff0c;我想每个人都收到过吧&#xff1f;买房、贷款、投资理财、开…...

vue3中通过vditor插件实现自定义上传图片、录入echarts、脑图、markdown语法的编辑器

1、下载Vditor插件 npm i vditor 我的vditor版本是3.10.2&#xff0c;大家可以自行选择下载最新版本 官网&#xff1a;Vditor 一款浏览器端的 Markdown 编辑器&#xff0c;支持所见即所得&#xff08;富文本&#xff09;、即时渲染&#xff08;类似 Typora&#xff09;和分屏 …...

揭示数据库内核的奥秘--手写数据库toadb开源项目

揭示数据库内核的奥秘–手写数据库toadb 数据为王的时代 在信息化时代&#xff0c;数据已成为企业和应用不可或缺的核心&#xff0c;而数据库不仅是数据的仓库&#xff0c;更是支撑业务决策、系统运行的基石。对于求职者而言&#xff0c;掌握数据库知识已成为求职市场上的必考…...

Grafana调整等待时间,避免Gateway timeout报错

使用Grafana的HTTP时&#xff0c;有些即时数据需要运算量与时间&#xff0c;而grafana的默认timeout是30秒&#xff0c;因此需要通过修改配置文件&#xff0c;避免grafana提前中断连接 修改原始配置文件: 删除;调整timeout30为timeout60 # This setting also applies to cor…...

MetaGPT全面指南:多代理协作框架的深入解析与应用

文章目录 理解MetaGPT1.1 MetaGPT的基础1.2 MetaGPT的独特之处1.3 MetaGPT在AI领域的应用 MetaGPT的工作原理2.1 训练2.2 微调2.3 推理2.4 多代理协作的概念2.5 如何分配角色给GPTs2.6 复杂任务的完成过程 实际应用3.1 客户支持3.2 内容创作3.3 教育3.4 医疗保健3.5 在企业中的…...

图的关键路径算法

关键路径算法&#xff08;Critical Path Method, CPM&#xff09;是一种用于项目管理和调度的技术&#xff0c;通过分析项目任务的最早开始时间、最晚完成时间和总时差&#xff0c;找出项目中关键的任务路径。这条关键路径决定了项目的最短完成时间&#xff0c;因为关键路径上的…...

模型情景制作-冰镇啤酒

夏日炎炎&#xff0c;当我们在真实世界中开一瓶冰镇啤酒的时候&#xff0c;我们也可以为模型世界中的人物添加一些冰镇啤酒。 下面介绍一种快速酒瓶制造方法&#xff0c;您只需要很少工具&#xff1a; 截取尽量直的流道&#xff08;传说中的板件零件架&#xff09;,将其夹在您的…...

终极MCP服务器指南:解锁AI智能决策的完整工具箱 [特殊字符]

终极MCP服务器指南&#xff1a;解锁AI智能决策的完整工具箱 &#x1f680; 【免费下载链接】servers Model Context Protocol Servers 项目地址: https://gitcode.com/GitHub_Trending/se/servers MCP服务器&#xff08;Model Context Protocol Servers&#xff09; 是现…...

RTX 4090D专属镜像应用场景:短视频MCN机构批量生成口播视频生产系统

RTX 4090D专属镜像应用场景&#xff1a;短视频MCN机构批量生成口播视频生产系统 1. 短视频行业的痛点与解决方案 短视频MCN机构每天面临的最大挑战之一&#xff0c;就是如何高效生产大量高质量的口播视频内容。传统制作流程通常需要&#xff1a; 租用专业摄影棚聘请主播录制…...

AI辅助开发深度探索:在快马平台上对比评测类qoderwork官网的AI代码生成能力

最近在研究AI辅助开发时&#xff0c;发现一个很有意思的现象&#xff1a;同样是生成一个网页项目&#xff0c;不同AI模型给出的代码风格和实现思路差异很大。这让我萌生了一个想法——能不能搭建一个平台&#xff0c;专门用来对比评测不同AI模型的代码生成能力&#xff1f;就像…...

单光子雪崩二极管(SPAD):原理、极高增益机制与微光探测解析

摘要 单光子雪崩二极管(Single-Photon Avalanche Diode, SPAD)是当前量子通信、激光雷达(LiDAR)、生物荧光成像及弱光探测领域的核心器件。其最显著的特征在于能够探测单个光子级别的极微弱光信号。本文将从器件物理层面深入剖析SPAD如何通过工作在“盖革模式”(Geiger M…...

Axure RP中文界面完全指南:4步实现高效设计工作流

Axure RP中文界面完全指南&#xff1a;4步实现高效设计工作流 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包&#xff0c;不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 作为产…...

3步解锁iOS激活锁:Applera1n工具完整使用指南

3步解锁iOS激活锁&#xff1a;Applera1n工具完整使用指南 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 当你面对一部显示"激活锁"界面的iPhone&#xff0c;反复输入Apple ID却始终无法进入…...

NaViL-9B部署案例:中小企业用双24GB显卡替代A100实现降本增效

NaViL-9B部署案例&#xff1a;中小企业用双24GB显卡替代A100实现降本增效 1. 项目背景与价值 在AI大模型应用日益普及的今天&#xff0c;中小企业面临着高昂的硬件投入成本。传统部署方案通常需要A100等高端显卡&#xff0c;单卡价格动辄数万元&#xff0c;让许多企业望而却步…...

分支限界法 vs 回溯法:5个关键区别和实际应用场景对比

分支限界法与回溯法&#xff1a;核心差异与工程实践指南 在解决复杂组合优化问题时&#xff0c;算法选择往往决定了程序的执行效率。当面对NP难问题时&#xff0c;两种经典算法——分支限界法和回溯法——常被开发者拿来比较。本文将深入剖析这两种算法的本质区别&#xff0c;并…...

ADS 2025瞬态仿真实战:手把手教你搞定PCB微带线串扰分析(含变量单位避坑指南)

ADS 2025瞬态仿真实战&#xff1a;手把手教你搞定PCB微带线串扰分析&#xff08;含变量单位避坑指南&#xff09; 作为一名硬件工程师&#xff0c;在高速PCB设计中遇到串扰问题就像在迷宫里寻找出口——看似简单却处处暗藏陷阱。特别是当你在ADS 2025中按照教程一步步设置参数&…...

雨课堂运动与健康网课高效学习指南

1. 雨课堂运动与健康网课学习资源整合 第一次接触雨课堂的运动与健康网课时&#xff0c;我和很多同学一样手忙脚乱。平台上的资料分散在各个角落&#xff0c;视频、文档、测试题混在一起&#xff0c;根本不知道从哪里开始。后来摸索出一套资源整理方法&#xff0c;效率直接翻倍…...