我正在编写mysql代码,无法找到解决方案。
问题是“列出不同的courseTitles,每门课程都有注册的女生人数,按下降数排序。”
有两个课程,一个是软件工程,另一个是信息系统。
该数据库中有6名女生,所有6名学生同时从事信息技术和英语(共显示12项结果)
当我执行以下sql语句时,
SELECT courseTitle, sex
FROM Course, Student
WHERE sex = 'f';它显示了所有参与it和英语的女性(有12个例子)。
然而,当我用计数来显示有多少女性做SE和有多少女性做,
SELECT courseTitle, COUNT(sex) as sex
FROM Course, Student
WHERE sex = 'f';它只显示一个课程标题(SE)和数字12 (所以12个女性),但它没有显示另一个课程标题(IS)。
答案应该显示6表示SE和6表示IS,而对于为什么这不起作用,我已经到了死胡同。
谢谢
发布于 2014-10-17 14:06:24
您需要添加一个group子句
SELECT courseTitle,
COUNT(sex) as sex
FROM Course, Student WHERE sex = 'f'
group by courseTitle;这将为每个courseTitle显示一行,而不是对整个发现的数据集进行计数。
https://stackoverflow.com/questions/26426744
复制相似问题