我的表格是這樣設置的,我需要做的就是向我的Photos表格調用查詢。MySql查詢返回每個相冊中的照片數量
我有PhotoID作爲主鍵,而GalleryID作爲Gallery的外鍵。我如何計算每個多個GalleryID的唯一PhotoID的數量。
可以這麼說,有可能會重複GalleryIDs,因爲畫廊中有很多照片。所以我只需要能夠獲得與該GalleryID關聯的唯一PhotoID的數量。
它可以在一個查詢中完成嗎?
我的表格是這樣設置的,我需要做的就是向我的Photos表格調用查詢。MySql查詢返回每個相冊中的照片數量
我有PhotoID作爲主鍵,而GalleryID作爲Gallery的外鍵。我如何計算每個多個GalleryID的唯一PhotoID的數量。
可以這麼說,有可能會重複GalleryIDs,因爲畫廊中有很多照片。所以我只需要能夠獲得與該GalleryID關聯的唯一PhotoID的數量。
它可以在一個查詢中完成嗎?
使用此:
SELECT GalleryID, count(PhotoID)
FROM Photos
GROUP BY GalleryID;
的常用方法是使用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,還需要連接。
使用下面的SQL
select count(photoid) as noOfPhotos from photos group by galleryid;
使用其中的galleryid獲得導致特定gallerie(S)