编写MySQL查询的新手

时间:2013-10-11 18:32:21

标签: mysql sql database

所以我是在MySQL中编写查询的新手,因为某些原因我无法很好地理解这个概念。

我有两个表,一个叫做Video_Recordings,另一个叫做Video_Categories。 Video_Recordings包含具有类别(流派)名称的电影标题。 Video_Categories包含不同类型的名称。

所以,我需要编写一个查询,显示每个类别中有多少部电影。

我输入了查询:

select * from Video_Recordings vr, Video_Categories vc
where vr.category=vc.name

按类别对所有电影片名进行分组,但如何查询它以计算每个类别中的录制数量?

1 个答案:

答案 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