码迷,mamicode.com
首页 > 数据库 > 详细

sql查询最大的见多了,查询第二的呢???

时间:2015-09-19 00:47:57      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:

问题:

   数据库中人表有三个属性,用户(编号,姓名,身高),查询出该身高排名第二的高度。

 

建表语句

create table users
(
    id int identity(1,1) primary key,
    name varchar(20),
    height float
);

 

 

数据库表:用户表(Users

数据库字段

字段意义

数据类型

约束

备注

id

编号

int

主键

自增长

name

姓名

VARCHAR(20)

 

 

height

身高

float

 

 

 

测试数据

insert into users(name,height) values(zhangsan,182);
insert into users(name,height) values(李四,122);
insert into users(name,height) values(张强,132);
insert into users(name,height) values(王明,122);
insert into users(name,height) values(姜明,182);
insert into users(name,height) values(蒋克龙,182);
insert into users(name,height) values(zhang,182);
insert into users(name,height) values(安安,181);
insert into users(name,height) values(健健,181);
insert into users(name,height) values(明明,181);
insert into users(name,height) values(小小,177);
insert into users(name,height) values(旺旺,123);
insert into users(name,height) values(卡纳,175);
insert into users(name,height) values(文鑫,166);
insert into users(name,height) values(健明,155);
insert into users(name,height) values(拉拉,152);
insert into users(name,height) values(青青,132);
insert into users(name,height) values(乐乐,155);
insert into users(name,height) values(KK,123);
insert into users(name,height) values(FF,122);
insert into users(name,height) values(Lily,152);

 

 

 查询语句

1、查询出没有重复值的第二名,即假如最高的身高是182,有几个人同时身高是182,则查出身高小于182的的最高的身高值。

1>、方式1:

 

select MAX(height) from users where height < (select MAX(height) from users );

 

    意义:先查询出最高的身高值,然后查询身高小于该值的最高身高。

2>、方式2:

 

select top 1 height from users where height not in (select MAX(height) from users) order by height desc;

 

  意义:先查询出最高的身高,排除该身高,然后将数据进行排序(降序),查询出当前的第一条数据。

 

2、查询出可能与最高身高值相同的第二名,即假如身高最高是182,有几个人同时是182身高,第二名依然是182.

select top 1 * from  (select top 2 height from users order by height desc) s order by height asc;

  意义:将数据按照身高(降序)排列,查询出前面的两项,然后将这两项按照身高升序,查询第一项目。

 

  致谢:感谢您的耐心阅读!假如有更好的答案希望不吝赐教。

 

sql查询最大的见多了,查询第二的呢???

标签:

原文地址:http://www.cnblogs.com/0201zcr/p/4820706.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!