注册 登录
编程论坛 SQL Server论坛

SQL知识,帮忙解答

zyp86720283 发布于 2013-01-18 19:48, 428 次点击
我有张表stu ,表里面有id,name,age这几个字段  表如下
                      id       name       age
                      1        张三       21
                      2        张三       25
                      3        张三       23
                      4        李四       22
                      5        李四       21
                      6        李四       24
现在我想按name分类查询每个名字的前两行数据 ,结果如下
                      id       name       age
                      1        张三       21
                      2        张三       25
                      4        李四       22
                      5        李四       21
请问代码怎么写?谢谢了

1 回复
#2
huwengui2013-01-19 13:42
select top 2  * from stu  where name=(select top 1 distinct name from stu )
 union
 select top 2  * from stu  where name=(select top 1 distinct name from stu desc )
order by id

[ 本帖最后由 huwengui 于 2013-1-19 13:45 编辑 ]
1