【mysql技巧】按某一字段分组取最大(小)值所在行的数据

https://blog.csdn.net/zimuxin/article/details/52230662

mysql技巧--按某一字段分组取最大(小)值所在行的数据,这是mysql数据库程序员经常用到的在处理一些报表数据时候可以活用!那么猎微网将总结几种mysql查询最大值 mysql查询最小值的方法!

mysql表图如下

一、按name分组取val最大的值所在行的数据。--方法1:

select a.* from tb a where val = (select max(val) from tb where name = a.name) order by a.name

--方法2:

select a.* from tb a where not exists(select 1 from tb where name = a.name and val > a.val)

--方法3:

select a.* from tb a,(select name,max(val) val from tb group by name) b where a.name = b.name and a.val = b.val order by a.name

--方法4:

select a.* from tb a inner join (select name , max(val) val from tb group by name) b on a.name = b.name and a.val = b.val order by a.name

--方法5

select a.* from tb a where 1 > (select count(*) from tb where name = a.name and val > a.val ) order by a.name

/*

name val memo

---------- ----------- --------------------

a 3 a3:a的第三个值

b 5 b5b5b5b5b5

*/

二、按name分组取val最小的值所在行的数据。--方法1:

select a.* from tb a where val = (select min(val) from tb where name = a.name) order by a.name

--方法2:

select a.* from tb a where not exists(select 1 from tb where name = a.name and val < a.val)

--方法3:

select a.* from tb a,(select name,min(val) val from tb group by name) b where a.name = b.name and a.val = b.val order by a.name

--方法4:

select a.* from tb a inner join (select name , min(val) val from tb group by name) b on a.name = b.name and a.val = b.val order by a.name

--方法5

select a.* from tb a where 1 > (select count(*) from tb where name = a.name and val < a.val) order by a.name

/*

name val memo

---------- ----------- --------------------

a 1 a1--a的第一个值

b 1 b1--b的第一个值

*/

这种分组方法好像效率不是很高,我用了10000条记录,5个分组实验一下,要70s的查询时间。但对一般可以满足需求的。

SELECT

a.payRcvConfirmedID,

a.StrongRelationID,

a.balance as orgPayments,

b.strongRelationType as type,

e.userID AS payUserId,

e.realName AS payName,

e.orgType AS payType,

f.userID AS recUserId,

f.realName AS recName,

f.orgType AS recType

FROM payrecdb.dt_payrcvconfirmed a

LEFT JOIN payrecdb.dt_strongrelation b ON a.StrongRelationID=b.strongRelationID

LEFT JOIN payrecdb.dt_user e ON b.payOrRelUserID = e.userID

LEFT JOIN payrecdb.dt_user f ON b.rcvOrRelUserID = f.userID

WHERE payRcvConfirmedID = (SELECT max(payRcvConfirmedID) FROM payrecdb.dt_payrcvconfirmed h WHERE h.strongRelationID=a.StrongRelationID) ;

mysql获取某个最大的值的一行数据_某一字段分组取最大(小)值所在行的数据相关推荐

  1. SQL按字段分组取最大(小)值记录(重复记录)

    SQL Server 按某一字段分组 取 最大 (小)值所在行的数据 -- 按某一字段分组 取 最大 (小)值所在行的数据 -- (爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-10-23 ...

  2. 【mysql技巧】按某一字段分组取最大(小)值所在行的数据

    mysql技巧--按某一字段分组取最大(小)值所在行的数据,这是mysql数据库程序员经常用到的在处理一些报表数据时候可以活用!那么猎微网将总结几种mysql查询最大值 mysql查询最小值的方法! ...

  3. mysql按某一字段分组取最大(小)值所在行的数据

    mysql按某一字段分组取最大(小)值所在行的数据   mysql技巧--按某一字段分组取最大(小)值所在行的数据,这是mysql数据库程序员经常用到的在处理一些报表数据时候可以活用!那么猎微网将总结 ...

  4. python获取币安k线数据_如何利用Python 爬取币乎的数据

    1LSGO软件技术团队 贡献人:李金原 如果喜欢这里的内容,你能够给我最大的帮助就是转发,告诉你的朋友,鼓励他们一起来学习. If you like the content here, the gre ...

  5. mysql获取字符串第2次出现的位置_我要获取一个字符串中某个标点第二次出现的位置...

    展开全部 获取方法e5a48de588b662616964757a686964616f31333365643662: //根据第一个点的位置 获得第二个点的位置 index=str.indexOf(& ...

  6. python中怎么把值添加进列表_在Python中为子列表添加值

    有时我们需要为现有列表引入附加值.在本文中,我们将看到如何通过与现有列表的每个项目组合将一个或多个新值插入到现有列表中. 使用For循环 如果我们获取的列表具有相同长度的项目,则可以使用此方法在列表的 ...

  7. 获取http地址如何从上面抓取图片_用 Python 自动抓取妹子图

    目录 前言 Media Pipeline 启用Media Pipeline 使用 ImgPipeline 抓取妹子图 瞎比比与送书后话 前言 我们在抓取数据的过程中,除了要抓取文本数据之外,当然也会有 ...

  8. 批量往mysql里面插入1000万条数据_绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来...

    我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: ...

  9. odd raio值 是什麼_乳化油相所需的HLB值

    前面有分享过<常用乳化剂HLB值一览表>,为了方便大家查阅HLB值,<有机概念图.HLB值与乳化剂筛选>一文中介绍了HLB值的计算方法以及乳化剂的筛选. 今天分享乳化油所需要H ...

  10. Simulink取最大(小)值方法总结

    目录 1.取多个数中最大一个 2.取连续输入信号中最大一个 3.取多个数中最大一个并返回Index 1.取多个数中最大一个 第一个,比较同时输入的数据中最大的值,这个比较简单,可以比较并行输入的数据, ...

最新文章

  1. 金山游戏研发改制新进展:计划本周发出正式公告
  2. 精品教程---Android应用程序框架
  3. php获取手机目录,php如何获取手机型号
  4. vue基础入门-应用 组件实例
  5. Java基础--多态
  6. HTML中常见问题汇总贴
  7. 【CNN长文详解】大话卷积神经网络CNN(干货满满)
  8. Caused by: java.lang.IllegalStateException: No ServletContext set
  9. Python BeautifuSoup 库 mooc 中国大学学习
  10. [附源码]java毕业设计基于的高校学生考勤管理系统
  11. 基于html5的音乐网站开题,开题报告基于HTML5的音乐网站.doc
  12. RFID-MFRC522射频识别模块,S50卡M1
  13. 多卡训练中的BN(BatchNorm)
  14. 天空卫士陆明:数据法在企业如何落地
  15. Android之电话拨号器
  16. 毕业论文/毕业设计如何撰写、修改、润色,拿优秀论文技巧,【写论文资源最全汇总】
  17. Cassandra On Docker
  18. MCP2515板级驱动
  19. 8.轨迹预测,乱七八糟的预测方法
  20. IP SLA及track技术的应用

热门文章

  1. 企业公司Discuz模板
  2. 文本去重的技术方案讨论(一)
  3. C51最小系统板红外遥控控制led灯的亮灭
  4. 任意文件读取与下载漏洞
  5. Django 国际化翻译中的 gettext 和 gettext_lazy
  6. FoxBarcode(一维码生成库)使用教程
  7. 群晖DOCKER搭建自动签到 PT网站再也不怕忘记登录了
  8. Q7:难道不想手工搞个环境?
  9. HOG+ADABOOST方式训练头肩检测模型
  10. html正方形项目符号,html自定义项目符号