mysql 随机分组_mysql分组
这种需求,我想很多人都遇到过。下面是我模拟我的内容表我现在需要取出每个分类中最新的内容
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分组相关推荐
- mysql随机取出每个分组前2条记录
mysql随机取出每个分组前2条记录 SELECT a.* FROMt_notary_business AS a,(SELECT GROUP_CONCAT(id order by rand()) AS ...
- mysql 数组 分组_mysql分组查询数组
mysql分组查询数组 - 技术改变生活 - 开源中国社区 首页 开源项目 Java 开源软件 C# 开源软件 PHP 开源软件 C/C++ 开源软件 Ruby 开源软件 Python 开源软件 Go ...
- oracle分组_MySQL分组取TOP,实现Oracle的ROW_NUMBER函数的功能
Excel中分组排序只需要对数据进行升序降序,再利用if函数添加排序序号,即可筛选出分组top数据. Oracle也有row_number()函数对数据进行分组排序,而MySQL并没有此类函数,那么如 ...
- mysql 随机分组_MySql分组后随机获取每组一条数据的操作
MySql分组后随机获取每组一条数据的操作,数据,效率,时间,李四,条数 MySql分组后随机获取每组一条数据的操作 易采站长站,站长之家为您整理了MySql分组后随机获取每组一条数据的操作的相关内容 ...
- mysql groupby 拼接_mysql分组并多行拼接--group_concat和groupby的使用
mysql分组并多行拼接--group_concat和groupby的使用 – 创建表结构 DROP TABLE IF EXISTS exe; CREATE TABLE exe ( id int(3) ...
- mysql先过滤后分组_MySQL分组过滤
使用HAVING字句对分组结果进行过滤. 示例 有一个表格socre_sheet: mysql> SELECT * FROM score_sheet; +----+--------+------ ...
- mysql 分组_mysql分组查询(总结)
分组查询 /* 语法: select 查询列表 from 表 [where 筛选条件] group by 分组的字段 [order by 排序的字段]; 特点: 1.和分组函数一同查询的字段必须是gr ...
- mysql根据姓分组_mysql 分组查询 group by
创建一个表 表名:xl select * from xl: 分组之后,按照分组的字段,只会显示一个 通过性别sex分组 select * from xl group by sex: 通过prold分组 ...
- mysql 分类查询_MySQL:分组查询
#进阶5:分组查询 /*语法:select 分组函数,列(要求出现在group by的后面)from 表[where 筛选条件]group by 分组的列表[order by 子句]注意:查询列表必须 ...
最新文章
- ES6基础之Array.fill函数
- ibmmq 通道命令_IBM_MQ常用命令的.doc
- 浅析调用android的content provider(一)
- LoadRunner中添加weblogic监视器(JMX)
- WCF与ASMX Web服务差异比较[译]
- C/C++编程语言中volatile关键字介绍
- [zz]Win8应用商店管理小工具
- 火狐中jq的attr出现的bug问题用prop代替
- 9套Android实战经典项目
- 一文说清:可逆与不可逆加密算法,对称与非对称加密算法-据说BCrypt比MD5要好?
- 十月上旬百度 阿里巴巴 迅雷搜狗最新面试七十题 第201 270题
- mysql left join和or_mysql – 在LEFT JOIN中使用带OR条件的索引
- layui下拉框联动查询效果
- 2020年了,BAT都组建了哪些科技实验室?
- RMAN CROSSCHECK命令 说明
- Object.assign()的使用和注意
- 【Matlab学习手记】标签显示在刻度之间
- Alex 我为自己代言
- 你不知道的 async、await 魔鬼细节
- Axure的动态面板