mysql每个分类取前5条数据

lzding 2016-09-27 04:39:01
category表,id,title
article表,id,title,cid
要取出每个分类下article表的前5条数据,并且category表的title也要取出来
sql语句怎么写呢?

下面是模板,需要循环出来
<dl>
<dt>分类标题</dt>
<dd>文章标题111</dd>
<dd>文章标题222</dd>
<dd>文章标题333</dd>
<dd>文章标题444</dd>
<dd>文章标题555</dd>
<dl>
...全文
2031 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_14857077 2017-07-13
  • 打赏
  • 举报
回复
看不懂代码是一种怎样的忧伤
青鬆下的坚躯 2016-09-27
  • 打赏
  • 举报
回复
方法1:配合php,遍历查询每个分类前5条,然后合并
方法2:使用union
方法3:
SELECT art.*,cate.`title` AS cate_title FROM article AS art
LEFT JOIN category AS cate ON cate.`id`=art.`cid`
WHERE FIND_IN_SET(
art.id,
(SELECT
GROUP_CONCAT(id) AS id
FROM
(SELECT
SUBSTRING_INDEX(GROUP_CONCAT(id), ',', 3) AS id
FROM
article
GROUP BY cid) AS t)
)
ORDER BY art.cid

输出:

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧