同一个表的多条数据合并成一条,挺难,请教高手!!
规则是这样的:
表T:
ID SCHOOL_ID GRADE SUBJECT_ID STUDENT_ID
1 s1 1 a 001
2 s1 1 a 002
3 s1 1 b 111
4 s1 1 c 001
5 s1 1 c 104
6 s1 1 d 021
7 s1 2 a 101
8 s1 2 b 101
根据SCHOOL_ID和GRADE分组,取前三个SUBJECT_ID,并且得到一个FLAG,如果多于三个设‘1’,不足设‘0’;同时取每个(SCHOOL_ID GRADE SUBJECT_ID)下面STUDENT_ID的个数。
得到结果如下:
SCHOOL_ID GRADE SUBJECT_1 SUBJECT_2 SUBJECT_3 FALG STUDENT_SUM_1 STUDENT_SUM_2 STUDENT_SUM_3
s1 1 a b c 1 2 1 2
s1 2 a b 0 1 1
只用SQL文。
这个问题我思考了一下午,不得解,求高人们指点。