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

复制代码
相关推荐
abc123456sdggfd11 分钟前
HTML5中Vuex持久化插件中WebStorage的底层配置
jvm·数据库·python
pele14 分钟前
Go语言如何发GET请求_Go语言HTTP GET请求教程【总结】
jvm·数据库·python
weixin_5806140014 分钟前
Go 语言中 go install 命令的正确用法与常见误区详解
jvm·数据库·python
qq_6543669815 分钟前
Bootstrap 5移除jQuery依赖 Bootstrap 5如何不使用jQuery
jvm·数据库·python
m0_6765443817 分钟前
CSS如何实现元素悬浮在页面底部_利用fixed定位与底部间距
jvm·数据库·python
weixin_5689960617 分钟前
Redis怎样监控当前发生了多少次内存驱逐
jvm·数据库·python
2301_7965885018 分钟前
CSS如何制作导航栏平滑移动_使用transition与left属性
jvm·数据库·python
2301_8038756119 分钟前
C#怎么清空Dictionary字典_C#如何管理内存集合【基础】
jvm·数据库·python
Greyson120 分钟前
CSS项目开发如何提速_应用BEM规范建立可复用的样式库.txt
jvm·数据库·python