使用sql语句找到表中某列的第几名

使用sql语句找到表中某列的第几名

ID:34739687

大小:47.84 KB

页数:4页

时间:2019-03-10

使用sql语句找到表中某列的第几名_第1页
使用sql语句找到表中某列的第几名_第2页
使用sql语句找到表中某列的第几名_第3页
使用sql语句找到表中某列的第几名_第4页
资源描述:

《使用sql语句找到表中某列的第几名》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQL>select*fromt1;IDAGE--------------------1202193194215226276rowsselected.现在要求找出表中第三年轻的学生方法1第三年轻,也就意味着只有两个人比他小SQL>selectt11.*2fromt1t113where2=(selectcount(*)fromt1t22wheret11.age>t22.age);IDAGE--------------------120方法2使用窗口函数SQL>selectid,age2from3(4selectid,age,5dense_

2、rank()over(orderbyage)dr6fromt17)8wheredr=3;IDAGE--------------------421奇怪了,这里结果为什么不一样呢?回头看一下表中的数据,有两条age=19的数据,这就是原因。下面换rankSQL>selectid,age2from3(4selectid,age,5rank()over(orderbyage)dr6fromt17)8wheredr=3;IDAGE--------------------120通过如下两个查询可以看出来DENSE_RANK和RANK的区别SQL>s

3、electid,age,2rank()over(orderbyage)dr3fromt1;IDAGEDR------------------------------3191219112034214522562766rowsselected.SQL>selectid,age,2dense_rank()over(orderbyage)dr3fromt1;IDAGEDR------------------------------3191219112024213522462756rowsselected.方法3使用自连接SQL>selectt1

4、1.*2fromt1t11,t1t22,t1t333wheret11.age>t22.age4andt22.age>t33.age5andt11.idnotin6(7selectt44.id8fromt1t44,t1t55,t1t66,t1t779wheret44.age>t55.age10andt55.age>t66.age11andt66.age>t77.age12);IDAGE--------------------421421啊哦,又出错了,这里还是同样的原因,由于表中存在重复数据。这个改起来有些麻烦,我们就先把表中的那条重复数

5、据取掉吧,毕竟这里真正的目的是这个SQL写法的思路SQL>deletefromt1whereid=2;1rowdeleted.SQL>select*fromt1orderbyage;IDAGE--------------------319120421522627SQL>selectt11.*2fromt1t11,t1t22,t1t333wheret11.age>t22.age4andt22.age>t33.age5andt11.idnotin6(7selectt44.id8fromt1t44,t1t55,t1t66,t1t779wher

6、et44.age>t55.age10andt55.age>t66.age11andt66.age>t77.age12);IDAGE--------------------421

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。