首页 > 数据库 >mysql获取按日期排序获取最新的记录

mysql获取按日期排序获取最新的记录

时间:2024-07-12 19:19:34浏览次数:10  
标签:group id 获取 test mysql date 排序 order select

今天让一个数据查询难了。主要是对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

 

 

转载地址:http://www.cnblogs.com/zsphper/archive/2010/06/10/MySQL-group-by-order-by.html

标签:group,id,获取,test,mysql,date,排序,order,select
From: https://www.cnblogs.com/joe-tang/p/7145035.html

相关文章

  • Mybatis模糊查询MySQL中记录的的常用三种方法
    mybatis的模糊查询功能使用的很广泛,以MySQL数据库为例(不同的数据库,有些可能不支持) 常用的模糊查询有三种方法:直接使用%拼接字符串,如 '%'#{name}'%' 或 "%"#{name}"%",单引号或双引号都可以。(或者  '%${vendorId}%' )<iftest="vendorId!=nullandvendorId!=......
  • 运维系列:数据库服务器 重启mysql服务出现 ERROR 1045: Access denied for user: ‘roo
    @[TOC](数据库服务器重启mysql服务出现ERROR1045:Accessdeniedforuser:‘root@localhost’(Usingpassword:NO)怎么)数据库服务器重启mysql服务出现ERROR1045:Accessdeniedforuser:‘root@localhost’(Usingpassword:NO)怎么解决?系统是ubuntuse......
  • 重装系统后MySQL变回原来模样
    系统重装后保留mysql重装(保留原来数据)顺便换了一下安装位置此次安装采用的是压缩包安装版本:8.0.34注意:下面所有命令行均是在管理员身份下执行的!!!所遇问题环境问题,文件权限问题,服务没有相应控制功能问题解决方案环境问题问题描述:空有文件夹和曾经的数据,打开命令行却无法找......
  • LeetCode 2974. 最小数字游戏(排序)
    题目:2974.最小数字游戏思路:排序后,两个两个取出来进行操作即可classSolution{public:vector<int>numberGame(vector<int>&nums){sort(nums.begin(),nums.end());vector<int>v;for(inti=1;i<nums.size();i+=2){v.pu......
  • KU注册链接:如何手动编译Percona Server for MySQL 5.5
    此文由KU注册链接вт989点сс编译原创,随着MySQL8.x版本的陆续更新,Percona的PerconaServerforMySQL也同样支援,不过想要在新的OS(例如DebianLinux12Bookworm)上使用旧版MySQL,Percona已经不提供5.5版DEB安装档,所以藉由此实验在DebianLinux12Bookwor......
  • 【MySQL】8.复合查询
    复合查询一.基本查询回顾(新增子查询)二.多表查询三.自连接四.子查询1.单列单行子查询2.单列多行子查询——三个关键字3.多列子查询4.在from子句中使用子查询五.合并查询六.总结一.基本查询回顾(新增子查询)//1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足......
  • 易优cms网站ad功能:获取单条广告数据-Eyoucms
    [基础用法]名称:ad功能:获取单条广告数据语法:{eyou:adaid='广告ID'}<ahref='{$field.links}'{$field.target}><imgalt='{$field.title}'src='{$field.litpic}'/></a>{/eyou:ad} 参数:aid=''指定广告IDid=''可以任意......
  • 【实操记录】MySQL主从配置
    本文使用MySQL原生支持的主从同步机制,详细记录了配置步骤及运维操作方法,可供大家直接参考、使用。本文假设已经部署了两台主机的MySQL软件,且数据库服务正常,详细部署步骤可本站搜索:"mysql二进制安装包部署"■■主从配置■master授权同步账户CREATEUSER'repl'@'10.19.238.2......
  • 易优cms网站attribute功能:获取栏目的属性列表,或者单独获取某个属性值-Eyoucms
    attribute栏目属性列表 [基础用法]名称:attribute功能:获取栏目的属性列表,或者单独获取某个属性值。语法:{eyou:attributetype='auto'}  {$attr.name}:{$attr.value}{/eyou:attribute}参数:aid=''文档ID,在arclist标签、list标签之内,以及内容页模板中一般不需要指定aid属性,系统......
  • 易优cms网站hotwords功能:获取网站搜索的热门关键字-Eyoucms
    【基础用法】名称:hotwords功能:获取网站搜索的热门关键字语法:{eyou:hotwordsnum='6'subday='365'maxlength='20'id='field'}  <ahref='{$field.url}'target="_blank">{$field.word}</a><br/>{/eyou:hotwords......