как выбрать n строк - PullRequest
       33

как выбрать n строк

1 голос
/ 15 ноября 2009

У меня есть база данных о нескольких компаниях, которые включают их название, цену акции,% изменения возраста:

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 значения в деск. порядок ...

ВЫХОД ДОЛЖЕН БЫТЬ

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

Ответы [ 5 ]

8 голосов
/ 15 ноября 2009

Использование MySQL / Postgres:

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

LIMIT пункт:

Использование SQL Server:

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

TOP поддерживается в SQL Server 2000+ не менее

Oracle:

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

Oracle's ROWNUM

1 голос
/ 15 ноября 2009

Если я что-то не так понимаю ... Это основной SQL:

SELECT * FROM table ORDER BY change DESC LIMIT 5;
0 голосов
/ 15 ноября 2009
select top 5 * from tblname order by change desc
0 голосов
/ 15 ноября 2009

Заказ по и лимит
ВЫБРАТЬ * ОТ КОМПАНИИ ЗАКАЗ ПО ИЗМЕНЕНИЮ DESC LIMIT 5;

0 голосов
/ 15 ноября 2009

Как насчет этого?

SELECT * FROM table ORDER BY change DESC LIMIT 5

РЕДАКТИРОВАТЬ : обратите внимание, что change должно быть именем столбца, который вы указали как % CHANGE ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...