博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql获取按日期排序获取最新的记录
阅读量:5240 次
发布时间:2019-06-14

本文共 745 字,大约阅读时间需要 2 分钟。

今天让一个数据查询难了。主要是对group by 理解的不够深入。才出现这样的情况

这种需求,我想很多人都遇到过。下面是我模拟我的内容表

我现在需要取出每个分类中最新的内容

select * from test group by category_id order by `date`
结果如下:
明显。这不是我想要的数据,原因是msyql已经的执行顺序是

1,where+group by(对小组进行排序)

2,从form返回的数据下手脚(即用子查询)
由where+group by的解决方法
对group by里的小组进行排序的函数我只查到group_concat()可以进行排序,但group_concat的作用是将小组里的字段里的值进行串联起来。

select group_concat(id order by `date` desc) from `test` group by category_id
再改进一下
select * from `test` where id in(select SUBSTRING_INDEX(group_concat(id order by `date` desc),',',1) from `test` group by category_id ) order by `date` desc

子查询解决方案

select * from (select * from `test` order by `date` desc) `temp` group by category_id order by `date` desc 【有待确认】

转载于:https://www.cnblogs.com/archermeng/p/7537312.html

你可能感兴趣的文章
Nested Class Templates
查看>>
php+ajax(jquery)的文件异步上传
查看>>
使用 SharedPreferences 分类: Andro...
查看>>
TLA+(待续...)
查看>>
c#数据结构(第四章)
查看>>
PHP 小方法之 计算两个时间戳之间相差的日时分秒
查看>>
python selenium 基本常用操作
查看>>
用ping命令简单的测试 延时、抖动、丢包率
查看>>
题解: [GXOI/GZOI2019]与或和
查看>>
camon详细解决过程
查看>>
6.06—038—周四
查看>>
flash游戏服务器安全策略
查看>>
Eurekalog
查看>>
Elasticsearch Java API简要总汇
查看>>
centos7关闭图形界面启动系统
查看>>
LeetCode--169--求众数
查看>>
Copy 函数
查看>>
Android服务之Service(其一)
查看>>
网站sqlserver提权操作
查看>>
javascript之聊天室(单机)来自于冷的锋刃
查看>>