所以我是在MySQL中编写查询的新手,因为某些原因我无法很好地理解这个概念。
我有两个表,一个叫做Video_Recordings,另一个叫做Video_Categories。 Video_Recordings包含具有类别(流派)名称的电影标题。 Video_Categories包含不同类型的名称。
所以,我需要编写一个查询,显示每个类别中有多少部电影。
我输入了查询:
select * from Video_Recordings vr, Video_Categories vc
where vr.category=vc.name
按类别对所有电影片名进行分组,但如何查询它以计算每个类别中的录制数量?
答案 0 :(得分:2)
使用group by vc.name
按类别对查询进行分组。然后将count(*)添加到选择列表,该列表计算每个组的行数。
select vc.name, count(*) as NumberOfRecordings
from Video_Recordings vr
inner join Video_Categories vc on vr.category=vc.name
group by vc.name
请注意(至少对于OP示例)您不需要连接,因为录制表已包含类别名称。以下应该产生相同的结果:
select category, count(*) as NumberOfRecordings
from Video_Recordings
group by category