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. 如何零基础学习python语言_零基础如何入门Python语言?有哪些学习建议?
  2. 阿里云盾技术强在哪里?轻松防御DDoS、CC攻击
  3. Android--获取高清的app图标
  4. HTML5和CSS3-张晨光-专题视频课程
  5. Linux 文件系统编程之系统调用和标准I/O库
  6. 数组多重筛选条件排序方法
  7. Linux内核分析:recv、recvfrom、recvmsg函数实现
  8. mysql res.body_请帮我找一下错吧:body ?php $link=mysql_connect('localhost','root','123') or die (不能连接数据库...
  9. Atitit.异常机制的设计原理
  10. 01 Confluent_Kafka权威指南 第一章:初识kafka
  11. LAMMPS实例教程—In文件详解
  12. PTA练习4-11 统计素数并求和
  13. 场景法、流程分析法、错误推断法
  14. Java ques: Unknown initial character set index ‘255‘ received from server. Initial client character
  15. 关于T检验的各种问题
  16. EOS区块链技术开发(〇)起源
  17. 云计算三种服务模式之IasS介绍
  18. 【看了就懂】P问题、NP问题、NP完全问题和NP难问题
  19. 安装MySQL报错:[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defau
  20. apa引用要在文中吗_Reference 居然还有那么多讲究?引用不好就挂了!

热门文章

  1. 原来ChatGPT可以充当这么多角色
  2. 史上最全的javascript知识点总结,浅显易懂。
  3. 疫情下的春招实习历程
  4. Boyd 凸优化课后习题 求共轭函数
  5. 阿里云专网服务器连接互联网的设置
  6. 12.7亿入股五星电器背后,京东家电想成为线上线下“王者”
  7. 基本数据类型一题解析:已知m=11,n=41,输出m和n的2次方、3次方、4次方。(附代码)
  8. 【办公软件有哪几种】万彩办公大师教程丨Office转图片工具
  9. php htmlpurifier,htmlpurifierPHP过滤库
  10. 【新手入门】deepfacelab的电脑配置要求