mysql中每个分类取几条数据mysql写法

mysql中每个分类取几条数据mysql写法

mysql中每个分类取几条数据mysql写法

在业务中,我们经常需要筛选一些数据,比如我要知道我发布的文章,每个类别取出最新的5条数据,sql怎么写呢

假设有个文章表如下,选出每个类别最新发布的4条数据

文章表
ID(编号)TITLE(标题)CATALOG(类别)ATIME(时间)
1bfw框架的基本流程编程2019-11-11
2bfwsoa如何进行限流框架2018-11-11

1、union写法

(select * from article where catalog='load' LIMIT 0,4) UNION (select * from article  where catalog='ai' LIMIT 0,4) 

2、程序合并

在java或php中每次获取一个类别的数据,在内存中进行数组合并

3、嵌套写法

SELECT  id,title,catalog FROM article a
WHERE (SELECT count(*) FROM article   b WHERE b.catalog =a.catalog AND b.id>a.id  )<4
ORDER BY catalog asc,id desc;


{{collectdata}}

网友评论0