如何选择n行 [英] how to select n rows

查看:99
本文介绍了如何选择n行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个有关几家公司的数据库,其中包括它们的名称,股票价格,年龄变化百分比:

i have a database about several companies which include their name, price of share, %age change:

NAME           PRICE              % CHANGE
-------------------------------------------------
a              67                  11
b              23                  6
c              456                 5.89  
d              112                 23.98       
e              31                  17            
f              78                  3.09              
g              2678                12.56                   
h              357                 4.6                

我要按比例选择年龄最高的5行,即最大百分比的显示在顶部... n的前面是第4个更多的值(以desc为单位)........................................................订购...

i want to select top 5 rows %age wise,means which hav maximum %age to be displayed at the top...n preceeding by jst 4 more value in desc. order...

应该输出

NAME           PRICE              % CHANGE
-------------------------------------------------
d              112                 23.98   
e              31                  17            
g              2678                12.56  
a              67                  11   
b              23                  6              

推荐答案

使用MySQL/Postgres:

  SELECT t.name,
         t.price,
         t.change
    FROM TABLE t
ORDER BY t.change DESC
   LIMIT 5

LIMIT子句:

  • MySQL documentation
  • Postgres documentation
  SELECT TOP 5
         t.name,
         t.price,
         t.change
    FROM TABLE t
ORDER BY t.change DESC

TOP在SQL Server 2000上受支持+至少

SELECT x.*
  FROM (SELECT t.name,
               t.price,
               t.change
          FROM TABLE t
      ORDER BY t.change DESC) x
 WHERE ROWNUM <= 5

Oracle的 ROWNUM

这篇关于如何选择n行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆