因此,我有这张专辑和图像表。图像有一个名为album_id
的列,它取得了他们正在坐的相册ID。到现在为止还挺好。根据MySQL中的外键选择第二个表上的行数
现在我需要从相册表中选择信息,并且还需要每个相册行的图像数量。我尝试使用LEFT JOIN
和COUNT(*)
,但它只会返回一行,这对我的情况来说效率非常低。
这是我使用的不会返回任何计数相关原始查询:
SELECT album_id, album_name, album_preview, album_owner, album_time, album_access
FROM imgzer_albums WHERE album_owner = SOME_VALUE
这是与LEFT JOIN
查询:
SELECT a.album_id, a.album_name, a.album_preview, a.album_owner, a.album_time, a.album_access, COUNT(i.*) AS images
FROM imgzer_albums a
LEFT JOIN imgzer_images i
ON a.album_id = i.album_id
WHERE album_owner = SOME_VALUE
我如何获得的图像,计数对于每个相应的相册ID而不仅限于一个结果?
你不觉得你缺少了'组by'条款? – KrazzyNefarious