获取某组中最大值sql
首先注意,取每组最大的数据和取每组最大的一条记录是两个概念,前者很简单直接分组,max()即可。
sql如下
SELECT *, max(hash) FROM log GROUP BY code
回去取分组中的第一条数据的*内容,然后附加上max得出来的结果,但结果与那条数据不匹配
即只取出每组的最大数据(只需最大数据的话 改sql可满足,若要去除最大数据的那一条记录则不能简单的用此sql)
1.先排序后分组
然后很自然的想到用select * from log order by hash desc对其倒序排序
按照思路然后是把上面当做子查询即是
select * from (select * from log order by hash desc) as a group by code
查看资料发现原来排序后必须加limit ,如果不加的话,数据不会先进行排序。所以
select * from (select * from log order by hash desc limit 10000 ) as a group by code
2.子查询部分使用group by分组找到每组最大的,外层查询使用多字段的in查询。
select * from log where(code,hash) in (SELECT code,max(hash) hash FROM log group by code)
leetcode中的一道题 见识到了两个字段的in的用法
https://leetcode-cn.com/problems/department-highest-salary/
3.番外(通过max获取到单独数据的id 根据id去查对应的数据)
单表查询:
要id最小的一条,最简单的语句是:
select * from table order by id
如果一定要使用where条件,那么可以这样写:
select * from table where id=(select min(id) from table)
3.1番外2
A表为商品表,
B表为sku表,(每个商品有多个sku(规格))
查询所有商品中并且每个商品中sku的价格为最小的整条数据
select
A.id,A.goodsname as title,A.norms,A.status as gstatus,A.imgurls,A.uppertime,A.downtime,A.createtime as gcreatetime,A.updatetime as gupdatetime, A.isteam,B.id as defaultsku,B.price as minprice,B.preprice
from A
INNER JOIN B on A.id=B.goodsid
where B.price = ( select min(B.price) from B where B.goodsid=A.id)
and A.status=1 and B.status=1
group by A.id
order by A.id desc
————————————————
版权声明:本文为CSDN博主「solmee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40024174/article/details/99462595
获取某组中最大值sql相关推荐
- numpy使用np.argmax函数获取一维数组中最大值所在的索引(index of largest value in numpy array with np.argmax)
numpy使用np.argmax函数获取一维数组中最大值所在的索引(index of largest value in numpy array with np.argmax) 目录 numpy使用np ...
- pandas使用groupby.first函数、groupby.nth(0)函数获取每个组中的第一个值实战:groupby.first函数和groupby.nth函数对比(对待NaN的差异)
pandas使用groupby.first函数.groupby.nth(0)函数获取每个组中的第一个值实战:groupby.first函数和groupby.nth函数对比(对待NaN的差异) 目录
- pandas使用groupby.last函数获取每个组中的最后一个值实战:groupby.last函数获取每个组中的最后一个值、groupby.nth函数获取每个组中的最后一个值
pandas使用groupby.last函数获取每个组中的最后一个值实战:groupby.last函数获取每个组中的最后一个值.groupby.nth函数获取每个组中的最后一个值 目录
- C++:找出一个整型数组中最大值。
题目概述: 找出一个整型数组中最大值. 编程: #include< iostream> using namespace std; class array_max //声明类 { publi ...
- Sqlserver 如何获取每组中的第一条记录
在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面.功能下面,从数据库的术语来说,就是查找出每组中的一条数据. 例子 我们要从上面获得的有效 ...
- mysql获取分组后每组的最大值
1. 测试数据库表如下: create table test (`id` int not null auto_increment,`name` varchar(20) not null default ...
- Always On可用性组中SQL Server统计信息
SQL Server统计信息简介 (Introduction to SQL Server Statistics) SQL Server Statistics are an essential part ...
- sql server父节点_将新节点添加到现有SQL Server Always On可用性组中
sql server父节点 This is the 5th article in the series of a comprehensive guide to SQL Server Always On ...
- 检索每个组中的最后一条记录-MySQL
有一个表messages ,其中包含数据,如下所示: Id Name Other_Columns ------------------------- 1 A A_data_1 2 A A_data_2 ...
最新文章
- NanoPi NEO Air使用六:使用摄像头
- L2-020. 功夫传人
- h5启动原生APP总结
- vue图片image
- [Unity脚本运行时更新]C#5新特性
- java中exception作用_java中的异常Exception的划分,以及他们的特性。
- centos linux asp,CentOS 7.4 下 如何部署 AspNetCore 结合 consul
- js获取图片原始大小
- linux 信号阻塞和信号未决
- C++ 合并两个有序链表
- 全国各省市区县数据整理
- vue POST 请求方式下载excel文件
- 【OpenGrok代码搜索引擎】四、OpenGrok使用指南
- 小程序“Mustache”语法{{}}(双大括号)获取不到值或图片
- 4000块一晚,住进地下88米深坑,这是全国首家AI超五星酒店
- MySQL的隐式类型转换
- 操作系统的基本概念和功能
- 某意大利小哥,竟靠一个缓存中间件直接封神?
- 想让文本识别更“智能”,到底需要什么样的OCR转写数据?
- dhu 1.3 反转链表 II