我有一张带照片的表,每个AlbumID允许多行: 照片(photoID,照片,标题,albumID)。 专辑(albumID,albumTitle)
我想要一张albumTitle列表和一张该albumID的照片。 照片表中有多张照片可用于单个albumID。
你能提供一个sql语句来为每个专辑ID选择一张Photo吗?
提前致谢! 阿维
答案 0 :(得分:0)
SELECT AlbumID, MIN(PhotoID)
FROM PHOTOS
GROUP BY AlbumID
答案 1 :(得分:0)
这将只返回每个albumID和照片的每个实例中的一个
SELECT DISTINCT `albumID `, `photo` FROM `Photos`;
然后你可以:
SELECT
DISTINCT `albumID `, `photo`
FROM
`Photos`
INNER JOIN
`Albums`
ON `Albums.albumID` = `Photos.albumID`
AND `Albums.albumTitle` = `albumTitle`
答案 2 :(得分:-1)
以下是使用Max(photoId)
:
Select a.albumId, a.albumTitle, p.photoId, p.photo, p.caption
From Albums a
Inner Join Photos p On a.albumId = p.albumId
Inner Join (
Select Max(photoId) maxPhotoId, albumId
From Photos
Group By albumId
) t On p.photoId = t.maxPhotoId And a.albumId = t.albumId