请教SQL Group by的问题

来源:百度知道 编辑:UC知道 时间:2024/04/28 11:03:12
请教各位大虾这么一个问题,现在有一个班级数据:
学生 性别 班级
a f 1
b m 2
c m 1
d m 2

如何实现,同班级的学生摆在一起,实现如下效果,SQL应怎么写:
班级:1
a f 1
c m 1

班级:2
b m 2
d m 2

使用Order by但无法分开两组,Group by又无法只有一个数据
问题是数据是自由增加的,我这里写2个班级,实际可能有更多,程序需要自动识别,我的想法是先使用group by得出班级数量,然后do while loop,每一个班级再select * from 数据表 where 班级=group by的班级,但弄了好久都不行,会做得再送分

每一个班级再select * from 数据表 where 班级=group by的班级 这么写就可以

select * from table where 班级 in (select distinct 班级 from table)

select 学生 性别 班级
form 表名
where 班级='1'
group by 班级
having (班级='1')

select 学生 性别 班级
form 表名
where 班级='2'
group by 班级
having (班级='2')

此句用having约束.

select * from table group by 班级 性别 这样可以的,你试下。

select max(学生)as 学生,max(性别)as 性别,班级 into 临时表
from 班级 group by 班级 order by 班级

你现在在这个有序的临时表里操作试试,没必要非要输出个表头啊。