我试图弄清楚过去两天如何对以下查询执行计数功能:对于每个模块,列出模块标题和为模块安排的活动数。 我需要的两个表是: TblActivity - ID,名称,类型,ModuleID,日,时间,RoomID。 TblModule - ID,标题 我确定GROUP BY也需要使用,但我不知道如何实现它。我正在使用SQL Server management studio 2008。 谢谢。
答案 0 :(得分:0)
请尝试以下查询。
SELECT
TblModule.ID,
TblModule.Title,
COUNT (TblActivity.ID) AS ActivityCount
FROM
TblModule
LEFT OUTER JOIN TblActivity
ON TblActivity.ModuleID = TblModule.ID
GROUP BY
TblModule.ID,
TblModule.Title
对于每个模块,它都会加入相应的活动,并使用分组为每个模块计算它们。
答案 1 :(得分:0)
加入ID
列上的表格,按Title
列分组,然后选择Title
列和匹配活动的数量(COUNT(TblActivity.ID)
)。
SELECT Title, COUNT(TblActivity.ID)
FROM TblModule
JOIN TblActivity ON TblActivity.ID=TblModule.ID
GROUP BY Title
希望这有帮助!
答案 2 :(得分:0)
SELECT M.Title, COUNT (A.ModuleID) AS NUMBER_OF_ACTIVITIES
FROM TblModule M
LEFT JOIN TblActivity A
ON M.ID = A.ModuleID
GROUP BY Title