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

作者:八英里 时间:2024-01-13 05:48:18 

前言:

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

本文提供两种实现方式。

一、准备数据

http://note.youdao.com/noteshare?id=dba748092a619be0a8f160ccf6e25a5f&sub=FD4C1C7823CA440DB360FEA3B4A905CD

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

二、三种实现方式

1)先order by之后再分组:

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

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

不加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;

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

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

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

来源:https://www.cnblogs.com/deepalley/p/13602825.html

标签:mysql,group,by,分组
0
投稿

猜你喜欢

  • SQLserver存储过程写法与设置定时执行存储过程方法详解

    2024-01-15 02:36:26
  • 深入了解Python枚举类型的相关知识

    2022-08-02 06:15:40
  • mysql自定义函数原理与用法实例分析

    2024-01-28 01:48:20
  • 基于js实现的限制文本框只可以输入数字

    2024-04-25 13:06:46
  • javascript cookie的基本操作(添加和删除)

    2024-05-11 09:43:24
  • IE8 CSS之生成内容

    2008-09-09 22:14:00
  • Hello! 404

    2010-09-06 13:37:00
  • favicon.ico以及动态图片的实现

    2008-07-03 12:34:00
  • python处理“&#”开头加数字的html字符方法

    2021-11-05 17:09:42
  • SQLServer 2005 控制用户权限访问表图文教程

    2024-01-28 02:10:57
  • Python列表去重复项的N种方法(实例代码)

    2023-06-27 16:00:20
  • python 中if else 语句的作用及示例代码

    2023-04-17 00:52:35
  • python获取文件版本信息、公司名和产品名的方法

    2022-05-31 17:30:23
  • Python实现前向和反向自动微分的示例代码

    2022-10-25 15:52:03
  • MySQL实现分布式锁

    2024-01-25 19:31:03
  • anaconda的安装和配置环境及导入pycharm的方法

    2022-12-08 12:58:23
  • 手把手教你用Hexo+Github搭建属于自己的博客(详细图文)

    2022-11-29 10:34:21
  • django和flask哪个值得研究学习

    2021-10-02 16:52:46
  • OpenCV实现相机标定

    2023-11-13 00:36:45
  • python中字符串数组逆序排列方法总结

    2023-04-18 07:19:08
  • asp之家 网络编程 m.aspxhome.com