首先注意,取每组最大的数据和取每组最大的一条记录是两个概念,前者很简单直接分组,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相关推荐

  1. 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 ...

  2. pandas使用groupby.first函数、groupby.nth(0)函数获取每个组中的第一个值实战:groupby.first函数和groupby.nth函数对比(对待NaN的差异)

    pandas使用groupby.first函数.groupby.nth(0)函数获取每个组中的第一个值实战:groupby.first函数和groupby.nth函数对比(对待NaN的差异) 目录

  3. pandas使用groupby.last函数获取每个组中的最后一个值实战:groupby.last函数获取每个组中的最后一个值、groupby.nth函数获取每个组中的最后一个值

    pandas使用groupby.last函数获取每个组中的最后一个值实战:groupby.last函数获取每个组中的最后一个值.groupby.nth函数获取每个组中的最后一个值 目录

  4. C++:找出一个整型数组中最大值。

    题目概述: 找出一个整型数组中最大值. 编程: #include< iostream> using namespace std; class array_max //声明类 { publi ...

  5. Sqlserver 如何获取每组中的第一条记录

    在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面.功能下面,从数据库的术语来说,就是查找出每组中的一条数据. 例子 我们要从上面获得的有效 ...

  6. mysql获取分组后每组的最大值

    1. 测试数据库表如下: create table test (`id` int not null auto_increment,`name` varchar(20) not null default ...

  7. Always On可用性组中SQL Server统计信息

    SQL Server统计信息简介 (Introduction to SQL Server Statistics) SQL Server Statistics are an essential part ...

  8. 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 ...

  9. 检索每个组中的最后一条记录-MySQL

    有一个表messages ,其中包含数据,如下所示: Id Name Other_Columns ------------------------- 1 A A_data_1 2 A A_data_2 ...

最新文章

  1. NanoPi NEO Air使用六:使用摄像头
  2. L2-020. 功夫传人
  3. h5启动原生APP总结
  4. vue图片image
  5. [Unity脚本运行时更新]C#5新特性
  6. java中exception作用_java中的异常Exception的划分,以及他们的特性。
  7. centos linux asp,CentOS 7.4 下 如何部署 AspNetCore 结合 consul
  8. js获取图片原始大小
  9. linux 信号阻塞和信号未决
  10. C++ 合并两个有序链表
  11. 全国各省市区县数据整理
  12. vue POST 请求方式下载excel文件
  13. 【OpenGrok代码搜索引擎】四、OpenGrok使用指南
  14. 小程序“Mustache”语法{{}}(双大括号)获取不到值或图片
  15. 4000块一晚,住进地下88米深坑,这是全国首家AI超五星酒店
  16. MySQL的隐式类型转换
  17. 操作系统的基本概念和功能
  18. 某意大利小哥,竟靠一个缓存中间件直接封神?
  19. 想让文本识别更“智能”,到底需要什么样的OCR转写数据?
  20. dhu 1.3 反转链表 II

热门文章

  1. 恰到好处的安慰:放过他人,放过自己
  2. a标签如何打开新窗口?
  3. 常见css下划线动画集合
  4. python爬网易歌词
  5. python命名中下划线的含义
  6. 高校各系爆强爱情短信
  7. 51单片机学习笔记之中断(外部中断、定时器中断、中断嵌套)
  8. 三十八、为什么要自我批判
  9. fis3-jello搭建笔记
  10. 科学养猪,5G工业网关赋能养殖业走上“快车道”