这种需求,我想很多人都遇到过。下面是我模拟我的内容表我现在需要取出每个分类中最新的内容

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

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

引用

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

所以在order by拿到的结果里已经是分组的完的最后结果。由from到where的结果如下的内容。到group by时就得到了根据category_id分出来的多个小组到了select的时候,只从上面的每个组里取第一条信息结果会如下即使order by也只是从上面的结果里进行排序。并不是每个分类的最新信息。回到我的目的上 --分类中最新的信息根据上面的分析,group by到select时只取到分组里的第一条信息。有两个解决方法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

mysql 随机分组_mysql分组相关推荐

  1. mysql随机取出每个分组前2条记录

    mysql随机取出每个分组前2条记录 SELECT a.* FROMt_notary_business AS a,(SELECT GROUP_CONCAT(id order by rand()) AS ...

  2. mysql 数组 分组_mysql分组查询数组

    mysql分组查询数组 - 技术改变生活 - 开源中国社区 首页 开源项目 Java 开源软件 C# 开源软件 PHP 开源软件 C/C++ 开源软件 Ruby 开源软件 Python 开源软件 Go ...

  3. oracle分组_MySQL分组取TOP,实现Oracle的ROW_NUMBER函数的功能

    Excel中分组排序只需要对数据进行升序降序,再利用if函数添加排序序号,即可筛选出分组top数据. Oracle也有row_number()函数对数据进行分组排序,而MySQL并没有此类函数,那么如 ...

  4. mysql 随机分组_MySql分组后随机获取每组一条数据的操作

    MySql分组后随机获取每组一条数据的操作,数据,效率,时间,李四,条数 MySql分组后随机获取每组一条数据的操作 易采站长站,站长之家为您整理了MySql分组后随机获取每组一条数据的操作的相关内容 ...

  5. mysql groupby 拼接_mysql分组并多行拼接--group_concat和groupby的使用

    mysql分组并多行拼接--group_concat和groupby的使用 – 创建表结构 DROP TABLE IF EXISTS exe; CREATE TABLE exe ( id int(3) ...

  6. mysql先过滤后分组_MySQL分组过滤

    使用HAVING字句对分组结果进行过滤. 示例 有一个表格socre_sheet: mysql> SELECT * FROM score_sheet; +----+--------+------ ...

  7. mysql 分组_mysql分组查询(总结)

    分组查询 /* 语法: select 查询列表 from 表 [where 筛选条件] group by 分组的字段 [order by 排序的字段]; 特点: 1.和分组函数一同查询的字段必须是gr ...

  8. mysql根据姓分组_mysql 分组查询 group by

    创建一个表 表名:xl select * from xl: 分组之后,按照分组的字段,只会显示一个 通过性别sex分组 select * from xl group by sex: 通过prold分组 ...

  9. mysql 分类查询_MySQL:分组查询

    #进阶5:分组查询 /*语法:select 分组函数,列(要求出现在group by的后面)from 表[where 筛选条件]group by 分组的列表[order by 子句]注意:查询列表必须 ...

最新文章

  1. ES6基础之Array.fill函数
  2. ibmmq 通道命令_IBM_MQ常用命令的.doc
  3. 浅析调用android的content provider(一)
  4. LoadRunner中添加weblogic监视器(JMX)
  5. WCF与ASMX Web服务差异比较[译]
  6. C/C++编程语言中volatile关键字介绍
  7. [zz]Win8应用商店管理小工具
  8. 火狐中jq的attr出现的bug问题用prop代替
  9. 9套Android实战经典项目
  10. 一文说清:可逆与不可逆加密算法,对称与非对称加密算法-据说BCrypt比MD5要好?
  11. 十月上旬百度 阿里巴巴 迅雷搜狗最新面试七十题 第201 270题
  12. mysql left join和or_mysql – 在LEFT JOIN中使用带OR条件的索引
  13. layui下拉框联动查询效果
  14. 2020年了,BAT都组建了哪些科技实验室?
  15. RMAN CROSSCHECK命令 说明
  16. Object.assign()的使用和注意
  17. 【Matlab学习手记】标签显示在刻度之间
  18. Alex 我为自己代言
  19. 你不知道的 async、await 魔鬼细节
  20. Axure的动态面板

热门文章

  1. swift中WKWebView和JS交互实现
  2. Python科研绘图——介绍
  3. 2018春节旅行大数据分析
  4. 【EasyUI篇】TreeGrid树表格组件
  5. U盘、移动硬盘加密工具绿色版
  6. pytorch池化maxpool2D注意事项
  7. tiktok直播代运营关注要素
  8. Lambda表达式练习【应用】
  9. 没有计算的推理和基于推理的计算 逻辑与算法之五
  10. outlook2016服务器设置不能修改,求助,outlook2016签名也无法编辑和修改,请工程师解决...