2012-12-10 71 views
0

我的表格是這樣設置的,我需要做的就是向我的Photos表格調用查詢。MySql查詢返回每個相冊中的照片數量

我有PhotoID作爲主鍵,而GalleryID作爲Gallery的外鍵。我如何計算每個多個GalleryID的唯一PhotoID的數量。

可以這麼說,有可能會重複GalleryIDs,因爲畫廊中有很多照片。所以我只需要能夠獲得與該GalleryID關聯的唯一PhotoID的數量。

它可以在一個查詢中完成嗎?

回答

0

使用此:

SELECT GalleryID, count(PhotoID) 
FROM Photos 
GROUP BY GalleryID; 
0

的常用方法是使用JOIN和GROUP BY子句,像這樣:

SELECT `Gallery`.`GalleryID`, COUNT(`Photos`.`PhotoID`) AS `NumOfPhotos` FROM `Gallery` 
LEFT JOIN `Photos` ON `Gallery`.`GalleryID` = `Photos`.`GalleryID` 
GROUP BY `Gallery`.`GalleryID`; 

這將算在畫廊ID分組Photos.PhotoID條目的數量。

在這種情況下,您可以通過查詢照片表來執行查詢而不用JOIN,但是如果您不僅需要庫表中的GalleryID,還需要連接。

0

使用下面的SQL

select count(photoid) as noOfPhotos from photos group by galleryid; 

使用其中的galleryid獲得導致特定gallerie(S)