SQL多列查询最大值
2024-10-01 04:59:58
直接从某一列查询出最大值或最小值很容易,通过group by字句对合适的列进行聚合操作,再使用max()/min()聚合函数就可以求出。
样本数据如下:
key_id | x | y | z |
A | 1 | 2 | 3 |
B | 5 | 5 | 2 |
C | 4 | 7 | 1 |
D | 3 | 3 | 8 |
求查询每个key的最大值,展示结果如下:
key_id | col |
A | 3 |
B | 5 |
C | 7 |
D | 8 |
方案一:
对于列数不是很多的可以用case when语句,
select key_id,
case when
case when x > y then x else y end < z then z
else case when x < y then y else x end
end as gre
from sherry.greatests
方案二:
如果有4列,5列可以先转为行数据再用聚合函数求,
select key_id, max(col) from
(select key_id, x as col from sherry.greatests
union all
select key_id, y as col from sherry.greatests
union all
select key_id, z as col from sherry.greatests) as foo
group by key_id
最新文章
- 用Pyinstaller打包发布exe应用 (转)经测可用
- inputType属性
- 为什么移动Web应用程序很慢(译)
- asp.net MVC ajax上传文件
- [bzoj 1004][HNOI 2008]Cards(Burnside引理+DP)
- CKEDITOR使用与配置
- HDU 3652 B-number(数位dp)
- 4.VS2010C++建立DLL工程
- Java设计模式之装饰模式趣谈
- jsp跳转到servlet
- 忘了SA密码的SQL SERVER
- BZOJ 3624: [Apio2008]免费道路 [生成树 并查集]
- Centos 使用yum安装MongoDB 4.0
- 关于Linux与Windows的在服务器的一些区别
- 【Web】servlet、filter和listener
- A claim of type &#39;http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier&#39; or &#39;http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider&#39; was not present on the pro
- JavaScript 字典
- webpack文件笔记
- cuda9.0编译caffe报错nvcc fatal : Unsupported gpu architecture &#39;compute_70&#39;
- MySQL 5.7 的SSL加密方法
热门文章
- 【Atheros】网卡驱动速率调整算法概述
- 从sql走向linq的我撞死在起点上
- MyEclipse中Save could not be completed
- 大组合取模之:1<;=n<;=m<;=1e6,1<;=p<;=1e9
- excel生成随机数
- Gaby Ivanushka(快排)
- 【python】-- web开发之CSS
- Linux c编程:同步属性
- android启动页延时跳转
- rails dependent