导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

菜鸟提问!大虾请进!

javahou 2003-12-12 02:53:38
假如有一个表tabel
姓名 学校
王三 师专
王三 大学
王三 师大
李四 大学
.
.
.
我想提出来一个姓名的前两条记录,请问用sql语句能不能实现
怎么实现?请各位指教!
...全文
49 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
DaGod123 2003-12-12
楼上的都不对啊。。
SQL是不允许这样的啊。。
是没有顺序的。
回复
dlpseeyou 2003-12-12
select * from table a
where 姓名 in (select top 2 姓名 from table group by 姓名)
回复
binshan 2003-12-12
小弟认为如果表中没有重复的记录,才能像楼上那样写!
回复
binshan 2003-12-12
小弟认为如果表中没有重复的记录,才能像楼上那样写!
回复
javahou 2003-12-12
谢谢兄弟,给分
回复
shuiniu 2003-12-12
declare @table table(name char(4),school char(4))
insert @table values('王三','师专')
insert @table values('王三','大学')
insert @table values('王三','师大')
insert @table values('李四','小学')
insert @table values('李四','中学')
insert @table values('李四','大学')

select * from @table a
where school in (select top 2 school from @table where a.name = name )
/*
name school
---- ------
王三 师专
王三 大学
李四 小学
李四 中学

(所影响的行数为 4 行)
*/
回复
shuiniu 2003-12-12
select * from table1 a
where 学校 in (select top 2 学校 from table1 where a.姓名 = 姓名 )
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告