我有以下表格:

相簿:

专辑ID,专辑标题,专辑发行日期,专辑标签,专辑数字图片,专辑封面故事

相簿曲目:

trackID,专辑ID 录音ID ,albumTrackNumber,cd

斜体=主键

粗体 =外键

问题如下:



我唯一的想法是遍历每个专辑ID并检查为其分配了多少曲目,但是显然,在普通SQL中循环不是一件事情吗?有什么方法可以使用普通SQL做到这一点?

这只会检查为专辑ID 1分配了多少首曲目,而不是为所有专辑分配了多少首曲目,我真的迷失了如何无循环执行此操作。

SELECT COUNT(albumID)
FROM albumTrack
WHERE albumID = 1;

我正在使用Oracle。

最佳答案

下面的查询将为您提供针对每个AlbumID的曲目数量(如果有)。

SELECT albumID,count(trackID) as NumberOfTracks
FROM albumTrack
Group By albumID;

10-04 11:17