mysql 取分组中最新记录
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 取分组中最新记录相关推荐
- mysql取分组数据中每个分组的最新一条数据
mysql取分组数据中每个分组的最新一条数据 select * from data td,(select max(id) id from log group by name) md where td. ...
- mysql:分组中某字段最大值的查询结果
最近在用一款组态软件,涉及到sql查询来得出数据集.需要在一定的限制下,得出想要的查询结果.某些查询的方法整理一下. 这次记录的是分组中某字段最大值的查询结果: 比如:从一张记录装置缺陷的表中,查询出 ...
- mysql取分组最新的一条_mysql group by之后取每个分组最新的一条
最近遇到一个需求就是需要从mysql中根据id查出一组数据,该组数据有36个类型,每种类型每天都会插入一条新的数据,然后我要拿每个类型的最新一条出来. -- 首先我想的是,先按照类型分组,然后在按照时 ...
- Mysql取分组中前N条记录
表结构如下: CREATE TABLE `dwb_rmirror_req_d` ( `thedate` varchar(10) NOT NULL DEFAULT '', `node` varchar( ...
- mysql 分组之后 取分组之后最新的数据
一.数据表设计 二.查询场景 统计每门课的考试次数.最新一次考试的时间.最新一次考试的录入成绩的老师 1.统计没门课的考试次数 #考试次数统计 select project '科目',count(pr ...
- mysql自连接分组查询最新_MySQL 自连接分组取每组最大N条记录
1.测试数据: create table t2 ( id int primary key, gid char, col1 int, col2 int ) engine=myisam; insert i ...
- stream实现list根据对象中多个属性分组,并取分组后最新数据
业务场景:定时任务同步中间表数据到业务表,如果中间表中存在相同维度的多条数据(未创建唯一索引),取最新一条数据,并对查询的中间表数据进行更新. 方式1 // 根据结果表唯一索引分组,取中间表重复最新一 ...
- 如何得到Mysql每个分组中的第N条记录
问题背景 1) 限制:每个用户在一个类目下,最多享受4单满送优惠. 即统计享受了满送优惠的订单数时需要排除掉同一类目下第四单以后的订单 如何得到每个用户同一类目下第四单ID呢? select four ...
- MySQL 取出每个分组中最新的一条数据(ID最大)
场景:由于一个摄像头管理一个范围,且管理的某个人可以多次犯规.故,一个摄像头可以上报有多个事件,多个事件可能同时上报,可能有先后顺序. 需求:现地图只显示有事件摄像头的最新一条事件信息,故,需要ID倒 ...
最新文章
- NanoPi NEO Air使用十:自己编写驱动来控制LED
- 高精度数取余(C\C++)
- 配置静态路由进阶实验
- Eclipse查找文件存储路径
- C# 仿windows资源管理器
- SEO小白学习与实践(一):seo学习缘起、目标
- Python进阶全系列
- pdf转word文档保留原格式 本地离线软件
- 迈思德物联网网关与施耐德SoMachine平台远程调试测试成功。
- 微信号下方菜单如何设置
- 考研英语近义词与反义词·十三
- 计算机组成原理 — PCI-E 外设接口标准
- 京东618大促,全店商品如何导出?
- 巨头集体跨界,老玩家悄然出圈,谁在争夺6亿电竞用户?
- 如何选择数字档案系统
- PHP扭蛋机原理,微信小程序 扭蛋抽奖机css3动画实现详解
- 【视频】海康威视摄像头RTSP协议格式
- 很好,现在连耳机都能当监听器使了
- disabled与tap(input的disabled='disabled'时tap事件任可触发)
- (转载)类欧几里得(知识点整理+板子总结)