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

复制代码
相关推荐
A XMan.29 分钟前
域名Whois信息查询V2版API接入指南
数据库
heimeiyingwang30 分钟前
【架构实战】可观测性体系:从监控到全链路追踪
网络·数据库·架构
网管NO.133 分钟前
SQL 日期函数全套精讲!时间格式化、日期加减、年月日提取,做日报周报直接套用
数据库·sql
杨云龙UP41 分钟前
Linux 根分区被日志吃满?一次 58G Broker 日志清理实战_2026-05-20
linux·运维·服务器·数据库·hdfs·apache
sdk大全43 分钟前
Studio 3T for MongoDB 2025.13.0
数据库·mongodb
码农阿豪1 小时前
平替MongoDB:金仓多模数据库助力电子证照国产化实践
数据库·mongodb
罗超驿1 小时前
22.深入剖析JDBC架构:从原生API到企业级数据交互核心
java·数据库·mysql·面试
易辰君1 小时前
【数据库】MongoDB深度解析与Python操作指南:从安装到实战操作全覆盖
数据库·mongodb
一直有一个ac的梦想1 小时前
cmu15445 2025fall lec 18 transactions with two-phase lock
java·开发语言·数据库
身如柳絮随风扬1 小时前
Redis 集群脑裂深度剖析:成因、危害与防丢失策略
数据库