我有一个SQL查询,它给出的结果不完整(只有一半的结果)。我想从学生表中检索同一班级的所有学生信息,然后按班级分组。
以下是查询代码:
SELECT first_name, last_name, username
FROM students
GROUP BY class
HAVING class IN(SS3);
SELECT first_name, last_name, class
FROM students
GROUP BY class
HAVING class = 'JSS1';
SELECT user_id, first_name, last_name, class, COUNT(*) AS total_students
FROM students
GROUP BY class
HAVING class IN ('JSS1')
最后一个查询仅显示表中第一个“jss1”班级学生的姓名,但这次显示有17个学生在jss1班级。
我该如何操作查询以显示同一班级所有学生的姓名?
以下是表结构:
CREATE TABLE IF NOT EXISTS `students` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`class` varchar(10) NOT NULL,
`first_name` varchar(30) NOT NULL,
`last_name` varchar(50) NOT NULL,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`user_id`)
)
GROUP BY
所做的。GROUP BY
使用由WHERE
子句过滤的数据生成新行。每一行都是使用在GROUP BY
子句中具有相同值的表达式的行生成的。 - axiac