select student_id, class_id, section_id, exam_date, exam_id,
sum(number*(1-abs(sign(subject-1)))) as sub1,
sum(number*(1-abs(sign(subject-2)))) as sub2,
sum(number*(1-abs(sign(subject-3)))) as sub3,
sum(number*(1-abs(sign(subject-4)))) as sub4,
sum(number*(1-abs(sign(subject-5)))) as sub5,
sum(number*(1-abs(sign(subject-6)))) as sub6
from result
where class_id = '7' and section id = '3' and YEAR(exam_date) = '2012' and exam_id = '3'
GROUP BY student_id我有一个问题,当我用where子句过滤时,所有的数值都是0,如果我运行不带where子句的查询,结果将是好的,但来自所有数据库。如何使用where子句过滤查询?有人能帮我吗?
发布于 2012-08-07 17:32:33
您还需要按class_id分组
SELECT * FROM (
select student_id, class_id,
sum(number*(1-abs(sign(subject-1)))) as sub1,
sum(number*(1-abs(sign(subject-2)))) as sub2,
sum(number*(1-abs(sign(subject-3)))) as sub3,
sum(number*(1-abs(sign(subject-4)))) as sub4,
sum(number*(1-abs(sign(subject-5)))) as sub5,
sum(number*(1-abs(sign(subject-6)))) as sub6
from result GROUP BY student_id,class_id) m
where class_id = '7'发布于 2012-08-07 17:31:03
将查询放在where之前。
SELECT * FROM (
select student_id, class_id,
sum(number*(1-abs(sign(subject-1)))) as sub1,
sum(number*(1-abs(sign(subject-2)))) as sub2,
sum(number*(1-abs(sign(subject-3)))) as sub3,
sum(number*(1-abs(sign(subject-4)))) as sub4,
sum(number*(1-abs(sign(subject-5)))) as sub5,
sum(number*(1-abs(sign(subject-6)))) as sub6
from result GROUP BY student_id) m
where class_id = '7' https://stackoverflow.com/questions/11842967
复制相似问题