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

复制代码
相关推荐
NineData8 小时前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
IvorySQL9 小时前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
ma_king12 小时前
入门 java 和 数据库
java·数据库·后端
jiayou6415 小时前
KingbaseES 实战:审计追踪配置与运维实践
数据库
随风飘的云16 小时前
mysql的innodb引擎对可重复读做了那些优化,可以避免幻读
mysql
NineData1 天前
NineData 迁移评估功能正式上线
数据库·dba
NineData1 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师1 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石2 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_2 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库