我正在编写 mysql 代码,找不到解决方案。
问题是“列出各种类(class)名称,以及每门类(class)注册的女学生人数。按降序排列列表。”
有 2 门类(class),一门是软件工程,另一门是信息系统。
数据库中有6个女学生,6个都做IT和英语(一共显示12个结果)
当我执行下面的sql语句时,
SELECT courseTitle, sex
FROM Course, Student
WHERE sex = 'f';
它显示所有参加 IT 和英语的女性(出现 12 个实例)。
但是,当我使用计数来显示有多少女性进行 SE 和多少女性进行 IS 时,
SELECT courseTitle, COUNT(sex) as sex
FROM Course, Student
WHERE sex = 'f';
它只显示一个类(class)标题 (SE) 并显示数字 12(所以 12 名女性),但不显示另一个类(class)标题 (IS)。
答案应该为 SE 显示 6,为 IS 显示 6,我不知道为什么这不起作用。
谢谢
最佳答案
您需要添加一个group by子句
SELECT courseTitle,
COUNT(sex) as sex
FROM Course, Student WHERE sex = 'f'
group by courseTitle;
这将为每个 courseTitle 显示一行,而不是计算整个找到的数据集。
关于mysql - SQL 不显示所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26426744/