Mysql 如何从数据库中获取唯一记录?
这是我的桌子结构Mysql 如何从数据库中获取唯一记录?,mysql,Mysql,这是我的桌子结构 album id ---- albumname 1 General 3 Sports 9 Activities gallery id --- ablumid--- image_thumb -- image_full 1 1 uploads/1358401616.jpg uploads/thumbs/thumb_1358401616.jpg 2 1 uploads/1358401641.jpg uploads/thumb
album
id ---- albumname
1 General
3 Sports
9 Activities
gallery
id --- ablumid--- image_thumb -- image_full
1 1 uploads/1358401616.jpg uploads/thumbs/thumb_1358401616.jpg
2 1 uploads/1358401641.jpg uploads/thumbs/thumb_1358401641.jpg
3 1 uploads/1358402071.jpg uploads/thumbs/thumb_1358402071.jpg
4 3 uploads/1358402334.jpg uploads/thumbs/thumb_1358402334.jpg
问题是我有太多的图片,一个单一的画廊
这是我的mysql查询
SELECT DISTINCT gl.catid as gallery_cat_id, ab.albumname,gl.imagest
FROM albums as ab
INNER JOIN gallery as gl ON ab.id=gl.catid
order by ab.albumname ASC
结果如下
gallery_id albumname image_full
38 Activities uploads/thumbs/thumb_1358424428.jpg
41 Activities uploads/thumbs/thumb_1358424483.jpg
40 Activities uploads/thumbs/thumb_1358424468.jpg
39 Activities uploads/thumbs/thumb_1358424446.jpg
查询显示了我在查询中添加的库表中的所有记录,但它不起作用。
有人能告诉我这里遗漏了什么吗?如果每个相册只需要一个图像(无论是什么),可以使用GROUP BY子句,按相册id分组:
SELECT gl.catid as gallery_cat_id, ab.albumname, gl.imagest
FROM
albums as ab
INNER JOIN gallery as gl
ON ab.id=gl.catid
GROUP BY ab.id
order by ab.albumname ASC
这看起来像是四个独特的行来解释你需要什么。独特的相册名称?查询的预期结果是什么?我需要显示相册。实际上我有三张专辑。我需要显示3个相册内的单一图像相册