1 votes

Comment sélectionner n lignes

Je dispose d'une base de données sur plusieurs entreprises qui comprend leur nom, le prix de l'action, la variation en % :

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

Je veux sélectionner les 5 premières lignes en %age, c'est à dire celles qui ont le %age maximum à afficher en haut...et qui sont précédées par seulement 4 autres valeurs dans l'ordre descendant....

LE RÉSULTAT DOIT ÊTRE

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

8voto

OMG Ponies Points 144785

Utilisation de MySQL/Postgres :

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

LIMIT clause :

Utilisation de SQL Server :

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

TOP est supporté par SQL Server 2000+ au moins

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

1voto

intgr Points 9041

A moins que je ne comprenne mal quelque chose... Il s'agit de SQL de base :

SELECT * FROM table ORDER BY change DESC LIMIT 5;

0voto

Franz Points 5924

Que pensez-vous de ceci ?

SELECT * FROM table ORDER BY change DESC LIMIT 5

EDIT : Notez que change doit être le nom de la colonne que vous avez listée comme % CHANGE ...

0voto

Cryophallion Points 605

Ordre et limite
SELECT * FROM company ORDER BY change DESC LIMIT 5 ;

0voto

priyanka.sarkar Points 5980
select top 5 * from tblname order by change desc

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X