SQL SERVER 取重复值和取某列第N大值得行数据的 SQL语句
2011-03-01 22:26
267 查看
SQL SERVER 取重复值和取某列第N大值得行数据的 SQL语句
举例:
创建一学生表结构如下:
插入如下数据:
那么我们要获取Student表中年龄第3大的学生数据该怎么写查询呢? 如下:
那我们又要获取Student表中所有同龄学生的数据该怎么写呢?如下:
举例:
创建一学生表结构如下:
create Table Student ( [id] [int] IDENTITY(1,1) NOT NULL, [name] [varchar](20) NOT NULL, [age] [int] NOT NULL )
插入如下数据:
insert into Student([name],age) values('小明',24); insert into Student([name],age) values('小红',34); insert into Student([name],age) values('小至',22); insert into Student([name],age) values('小黄',22); insert into Student([name],age) values('小王',34); insert into Student([name],age) values('小刘',26); insert into Student([name],age) values('小天',27); insert into Student([name],age) values('小地',24);
那么我们要获取Student表中年龄第3大的学生数据该怎么写查询呢? 如下:
//方法一(只能显示一条数据) select top 1 t.* from (select TOP 3 * from Student a where a.id in(select top 1 id from Student where age =a.age ) order by age DESC,id) t order by age //方法二(可查询出所有并列第N大的数据行,如果有的话) select * from student where age =(select top 1 age from student where age in(select top 3 age from Student group by age order by age desc) order by age asc)
那我们又要获取Student表中所有同龄学生的数据该怎么写呢?如下:
select * from Student where age in(select age from Student group by age having count(age) > 1) order by age
相关文章推荐
- 常用SQL语句实例大全(含过滤及删除重复数据、导入导出数据等)
- 常用SQL语句实例(含过滤及删除重复数据、导入导出数据等)
- SQL查询重复数据,只显示一条sql语句
- SQL查询重复数据,只显示一条sql语句
- 删除不同粒度的事实表记录中重复的度量值数据的SQL语句
- 用sql语句查询一张表中重复的数据
- sql 语句 在sql server中查出的数据,在c#后台变没了?
- Sql server 删除重复记录的SQL语句
- 查询重复数据的sql语句
- 在SQL SERVER中查询数据库中第几条至第几条之间的数据SQL语句写法
- SQL语句删除2条重复数据一条保留一条
- SQL查询语句,怎样查询重复大于等于小于多少的数据
- SQL语句,在往表test中插入“内容”字段时,检查该字段是否有重复数据
- t-sql go 重复执行sql 语句 重复插入数据
- sql语句查询一张表中某字段值重复的记录数据
- Sql Server中查询当天,最近三天,本周,本月,最近一个月,本季度的数据的sql语句
- 关于SQL Server SQL语句查询分页数据的解决方案
- SQL语句删除数据库表中重复数据
- 使用SQL语句对重复记录查询、统计重复次数、删除重复数据
- sql语句-去除重复数据