2
正如標題所示,我想列出顯示每篇文章3張照片的所有博客文章。並非每篇文章都有照片。MySQL - 爲每個博客文章記錄抓取3張照片記錄
示例結果
我嘗試
SELECT a.article_id, a.title, a.content, a.published, t.topic_title, au.firstname, au.lastname,
GROUP_CONCAT(CONVERT(p.photo_id,CHAR(8)) ORDER BY p.photo_id ASC SEPARATOR ';') AS photos
FROM blog_articles a
LEFT JOIN photos p USING (article_id)
LEFT JOIN blog_topics t ON a.topic_id = t.topic_id
LEFT JOIN admins au ON a.author_id = au.admin_id
GROUP BY a.article_id
將會產生分隔的照片ID的列表,就像我想要一個冒號,但我真的只需要3,不他們全部。很明顯,我可以在應用程序代碼中抓取3個ID,但我想停止收集MySQL中的所有數據。這就是它產生:
14 This is a blog title 2012-07-09 12;13;14;15;16;17;18;19;20;21;22;23;24;25
但我要的是:
14 This is a blog title 2012-07-09 12;13;14
任何幫助,在此將是巨大的。
嗨延長你的GROUP_CONCAT,感謝。假設一篇文章有100張照片。這實際上是否會停止所有100個ID的生成,還是將100個減少到3個? – TheCarver 2012-07-11 20:06:18
其concat全部爲100到一個字符串,然後在第3個'''剪切字符串,所以結果包含最多3個ID – 2012-07-11 20:38:50