sql书写和执行顺序:
写的顺序:select ... from... where.... group by... having... order by..
执行顺序:from... where...group by... having.... select ... order by...

select * from test group by category_id order by `date`

结果如下:

明显。这不是我想要的数据,原因是msyql已经的执行顺序.

所以在order by拿到的结果里已经是分组的完的最后结果。
由from到where的结果如下的内容。

到group by时就得到了根据category_id分出来的多个小组

到了select的时候,只从上面的每个组里取第一条信息结果会如下

即使order by也只是从上面的结果里进行排序。并不是每个分类的最新信息。
回到我的目的上 --分类中最新的信息
根据上面的分析,group by到select时只取到分组里的第一条信息。有两个解决方法
1,where+group by(对小组进行排序)
2,从form返回的数据下手脚(即用子查询)

实际案例:需要按one分组然后取出中最新的记录

方案1:where+group by

SELECT
    SUBSTRING_INDEX(group_concat(t.`name` ORDER BY t.date DESC),',',1) AS two,
    r.name_one AS one,
    max(t.date)
FROM
    level_two t
LEFT JOIN level_r r ON t.`name` = r.name_two
GROUP BY
    r.name_one;

结果如下:

方案2:子查询

SELECT
    t1.*
FROM
    (
        SELECT
            t.`name` AS two,
            r.name_one AS one,
            t.date
        FROM
            level_two t
        LEFT JOIN level_r r ON t.`name` = r.name_two
        ORDER BY t.date desc
    ) t1

GROUP BY
    t1.one;

结果:因为groupby后默认取第一条数据,所有在子查询中先将数据按date降序

mysql 取分组中最新记录相关推荐

  1. mysql取分组数据中每个分组的最新一条数据

    mysql取分组数据中每个分组的最新一条数据 select * from data td,(select max(id) id from log group by name) md where td. ...

  2. mysql:分组中某字段最大值的查询结果

    最近在用一款组态软件,涉及到sql查询来得出数据集.需要在一定的限制下,得出想要的查询结果.某些查询的方法整理一下. 这次记录的是分组中某字段最大值的查询结果: 比如:从一张记录装置缺陷的表中,查询出 ...

  3. mysql取分组最新的一条_mysql group by之后取每个分组最新的一条

    最近遇到一个需求就是需要从mysql中根据id查出一组数据,该组数据有36个类型,每种类型每天都会插入一条新的数据,然后我要拿每个类型的最新一条出来. -- 首先我想的是,先按照类型分组,然后在按照时 ...

  4. Mysql取分组中前N条记录

    表结构如下: CREATE TABLE `dwb_rmirror_req_d` ( `thedate` varchar(10) NOT NULL DEFAULT '', `node` varchar( ...

  5. mysql 分组之后 取分组之后最新的数据

    一.数据表设计 二.查询场景 统计每门课的考试次数.最新一次考试的时间.最新一次考试的录入成绩的老师 1.统计没门课的考试次数 #考试次数统计 select project '科目',count(pr ...

  6. mysql自连接分组查询最新_MySQL 自连接分组取每组最大N条记录

    1.测试数据: create table t2 ( id int primary key, gid char, col1 int, col2 int ) engine=myisam; insert i ...

  7. stream实现list根据对象中多个属性分组,并取分组后最新数据

    业务场景:定时任务同步中间表数据到业务表,如果中间表中存在相同维度的多条数据(未创建唯一索引),取最新一条数据,并对查询的中间表数据进行更新. 方式1 // 根据结果表唯一索引分组,取中间表重复最新一 ...

  8. 如何得到Mysql每个分组中的第N条记录

    问题背景 1) 限制:每个用户在一个类目下,最多享受4单满送优惠. 即统计享受了满送优惠的订单数时需要排除掉同一类目下第四单以后的订单 如何得到每个用户同一类目下第四单ID呢? select four ...

  9. MySQL 取出每个分组中最新的一条数据(ID最大)

    场景:由于一个摄像头管理一个范围,且管理的某个人可以多次犯规.故,一个摄像头可以上报有多个事件,多个事件可能同时上报,可能有先后顺序. 需求:现地图只显示有事件摄像头的最新一条事件信息,故,需要ID倒 ...

最新文章

  1. NanoPi NEO Air使用十:自己编写驱动来控制LED
  2. 高精度数取余(C\C++)
  3. 配置静态路由进阶实验
  4. Eclipse查找文件存储路径
  5. C# 仿windows资源管理器
  6. SEO小白学习与实践(一):seo学习缘起、目标
  7. Python进阶全系列
  8. pdf转word文档保留原格式 本地离线软件
  9. 迈思德物联网网关与施耐德SoMachine平台远程调试测试成功。
  10. 微信号下方菜单如何设置
  11. 考研英语近义词与反义词·十三
  12. 计算机组成原理 — PCI-E 外设接口标准
  13. 京东618大促,全店商品如何导出?
  14. 巨头集体跨界,老玩家悄然出圈,谁在争夺6亿电竞用户?
  15. 如何选择数字档案系统
  16. PHP扭蛋机原理,微信小程序 扭蛋抽奖机css3动画实现详解
  17. 【视频】海康威视摄像头RTSP协议格式
  18. 很好,现在连耳机都能当监听器使了
  19. disabled与tap(input的disabled='disabled'时tap事件任可触发)
  20. (转载)类欧几里得(知识点整理+板子总结)

热门文章

  1. 比较全的Struts介绍04
  2. android 名片识别 简书,nodejs实现名片识别
  3. 抢红包算法之线段切割法的python简单实现
  4. 网站使用国外服务器越来越卡、越来越慢的原因
  5. Java实现 LeetCode 623 在二叉树中增加一行(遍历树)
  6. 电脑现在找不到驱动器,设备管理器显示DVD/CD-ROM驱动器是黄色感叹号
  7. WEB APP、HYBRID APP与NATIVE APP 差异分析
  8. 多种模块拔号上网驱动开发调试
  9. vue3:加载本地图片等静态资源
  10. 赛尔号和赛尔机器人_与赛尔号机器人同乐作文600字