MySQL基础练习题44-只出现一次的最大数字

目录

题目

情况一

准备数据

分析数据

情况二

准备数据

实现一


题目

单一数字 是在 MyNumbers 表中只出现一次的数字。

找出最大的 单一数字 。如果不存在 单一数字 ,则返回 null

情况一

准备数据

sql 复制代码
## 创建库
create database db;
use db;

## 创建表
Create table If Not Exists MyNumbers (num int)

## 向表中插入数据
Truncate table MyNumbers
insert into MyNumbers (num) values ('8')
insert into MyNumbers (num) values ('8')
insert into MyNumbers (num) values ('3')
insert into MyNumbers (num) values ('3')
insert into MyNumbers (num) values ('1')
insert into MyNumbers (num) values ('4')
insert into MyNumbers (num) values ('5')
insert into MyNumbers (num) values ('6')

分析数据

单一数字有 1、4、5 和 6 。

6 是最大的单一数字,返回 6 。

sql 复制代码
with t1 as (
    select if(count(num)=1,num,null) cn from mynumbers
    group by num
)select max(cn) num from t1
;

说明:使用if函数 将count(num)>1设置为null,其余正常输出,最后使用max函数输出最大但艺术字;若没有单一数字,就会输出null。

情况二

准备数据

sql 复制代码
Truncate table MyNumbers
insert into MyNumbers (num) values ('8')
insert into MyNumbers (num) values ('8')
insert into MyNumbers (num) values ('3')
insert into MyNumbers (num) values ('3')
insert into MyNumbers (num) values ('3')
insert into MyNumbers (num) values ('4')
insert into MyNumbers (num) values ('4')
insert into MyNumbers (num) values ('4')

实现一

sql 复制代码
with t1 as (
    select if(count(num)=1,num,null) cn from mynumbers
    group by num
)select max(cn) num from t1;
sql 复制代码
select max(num) as num from MyNumbers
where num in (
    select num from MyNumbers group by num having  count(*) =1
);

说明 : 使用HAVING COUNT(*) = 1是一个条件用来过滤出只出现一次的组。

如果主查询的WHERE子句中的IN子句没有找到任何匹配的值,那么MAX(num)将没有输入值来计算,因此会返回NULL

复制代码
相关推荐
SelectDB12 分钟前
Apache Doris 4.0 AI 能力揭秘(一):AI 函数之 LLM 函数介绍
数据库·人工智能·数据分析
我是哈哈hh26 分钟前
【MySQL】在UBuntu环境安装以及免密码登录入门
linux·数据库·mysql·ubuntu
喪彪1 小时前
MySQL新手教学
数据库·mysql·adb
丘大梨4 小时前
QT 基础聊天应用项目文档
运维·数据库·系统架构
HMBBLOVEPDX4 小时前
MySQL的多版本并发控制(MVCC):
数据库·mysql·mvcc
.用户昵称已存在.4 小时前
MongoDB 从入门到精通:安装配置与基础操作指令详解
数据库·mongodb
ClouGence5 小时前
CloudDM 新增支持 GaussDB 与 openGauss:国产数据库管理更高效
数据库·sql·ci/cd
sukalot5 小时前
window显示驱动开发—在混合系统中使用跨适配器资源
数据库·驱动开发·音视频
洛卡卡了6 小时前
数据库加密方案实践:我们选的不是最完美,但是真的够用了。
数据库·后端·面试