2010-09-27 120 views
1

我想在php和mysql中制作一个相册系统。 我有这样的代码列表中的所有相册:从mysql中的表中选择id和count(id)

SELECT albums.*, count(pictures.id) AS countpic 
FROM albums 
LEFT JOIN pictures ON (albums.id=pictures.album_id) 
GROUP BY albums.id 
ORDER BY albums.date DESC"); 

我想列出有照片的缩略图相册的标题(写在表图片thumb_id SI),并与分配给每个相册所有照片数量。

你不知道如何通过使用一个选择选择thumb_id以及专辑中所有图片的数量吗?

感谢

回答

3

是否加入group_concat(pictures.thumb_id)的选择列表中你需要什么?

+0

谢谢..好吧,当我想使用随机图片的专辑缩略图..但如果我想选择特定图片怎么办? (例如图片的条件:picture.is_thumb ='1') – Bajlo 2010-09-27 14:01:31

+0

@Bajlo - 请参阅ceteras的答案。否则,您可以使用所需输出的样本来更新您的问题。 – 2010-09-27 14:15:26

2

如果每张专辑都有一张is_thumb = 1的单张图片,这将起作用。

SELECT 
    albums.*, 
    count(pictures.id) AS countpic, 
    group_concat(pictures.thumb_id) ids, 
    group_concat(case when picture.is_thumb then pictures.thumb_id else '' end separator '') thumb 
FROM albums 
LEFT JOIN pictures ON (albums.id=pictures.album_id) 
GROUP BY albums.id 
ORDER BY albums.date DESC"); 
相关问题