欢迎来到中国观察网 http://www.chinagcw.com.cn

帮助中心 广告联系

中国观察网

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

来源:未知 作者:观察员 人气: 发布时间:2020-03-12
摘要:数据库中人表有三个属性,用户(编号,姓名,身高),查询出该身高排名第二的高度。 1、查询出没有重复值的第二名,即假如最高的身高是182,有几个人同时身高是182,则查出身高小于182的的最高的身高值。 意义:先查询出最高的身高,排除该身高,然后将数据

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

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

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

  rank函数考虑到了over子句中排序字段值相同的情况,值相同的时候RANK函数的到的值相等。

  意义:给每一个记录一个行号,使用RANK函数,去掉身高值最高的记录(重复值的rank函数获得值相同)。

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

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

  2、方式2:row_number函数的用途是非常广泛,这个函数的功能是为查询出来的每一行记录生成一个序号(不考虑重复值)。

  意义:给每一个记录一个行号ROW_NUMBER使用函数,去掉身高值最高的记录(重复值的ROW_NUMBER函数获得值不同)。

责任编辑:观察员

中国观察网独家出品

新闻由机器选取每5分钟自动更新

手机: 邮箱:123456@qq.com
联系电话:010-8888888 地址: