主页 > 知识库 > 基于mysql实现group by取各分组最新一条数据

基于mysql实现group by取各分组最新一条数据

热门标签:芒果电话机器人自动化 广东人工电话机器人 申请外呼电话线路 百度地图图标标注中心 日照旅游地图标注 湖南人工外呼系统多少钱 南通自动外呼系统软件 信阳稳定外呼系统运营商 石家庄电商外呼系统

前言:

group by函数后取到的是分组中的第一条数据,但是我们有时候需要取出各分组的最新一条,该怎么实现呢?

本文提供两种实现方式。

一、准备数据

http://note.youdao.com/noteshare?id=dba748092a619be0a8f160ccf6e25a5fsub=FD4C1C7823CA440DB360FEA3B4A905CD

二、三种实现方式

1)先order by之后再分组:

SELECT * FROM (SELECT * from tb_dept ORDER BY id descLIMIT 10000) a GROUP BY parent_id;

不加LIMIT可能会无效,由于mysql的版本问题。但是总觉得这种写法不太正经,因为如果数据量大于Limit 的值后,结果就不准确了。所以就有了第二种写法。

2)利用max() 函数:

SELECT * FROM tb_dept td,(SELECT max(id) id FROM tb_dept GROUP BY parent_id) md where td.id = md.id;

3)利用 where 字段名称 in (...) 函数:

SELECT * FROM tb_dept WHERE id IN (SELECT MAX(id) FROM tb_dept GROUP BY parent_id);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
  • MySql分组后随机获取每组一条数据的操作
  • MySQL 子查询和分组查询
  • MySQL 分组查询和聚合函数
  • MySql Group By对多个字段进行分组的实现方法
  • 详解MySQL分组排序求Top N
  • mysql获取分组后每组的最大值实例详解
  • Mysql利用group by分组排序
  • 详解MySQL 数据分组

标签:牡丹江 沈阳 惠州 合肥 呼和浩特 阿里 公主岭 天津

巨人网络通讯声明:本文标题《基于mysql实现group by取各分组最新一条数据》,本文关键词  基于,mysql,实现,group,取各,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《基于mysql实现group by取各分组最新一条数据》相关的同类信息!
  • 本页收集关于基于mysql实现group by取各分组最新一条数据的相关信息资讯供网民参考!
  • 推荐文章