160 votes

SQL - Sélectionner les 10 premières lignes seulement ?

Comment sélectionner uniquement les 10 premiers résultats d'une requête ?

Je voudrais afficher uniquement les 10 premiers résultats de la requête suivante :

SELECT a.names,
         COUNT(b.post_title) AS num
    FROM wp_celebnames a
    JOIN wp_posts b ON INSTR(b.post_title, a.names) > 0
    WHERE b.post_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
GROUP BY a.names
ORDER BY num DESC

3 votes

Veuillez mentionner la base de données (et sa version).

2 votes

Ce devrait être la nouvelle réponse, stackoverflow.com/a/36476971/124486

0 votes

Essayez aussi le TOP 10

231voto

nullptr Points 5432

Dans le serveur SQL, utilisez :

select top 10 ...

par exemple

select top 100 * from myTable
select top 100 colA, colB from myTable

Dans MySQL, utilisez :

select ... order by num desc limit 10

65voto

martin clayton Points 41306

Dépend de votre SGBDR

MS SQL Server

SELECT TOP 10 ...

MySQL

SELECT ... LIMIT 10

Sybase

SET ROWCOUNT 10
SELECT ...

Etc.

8 votes

La syntaxe ... La syntaxe LIMIT 10 est aussi utilisée par sqlite3

34voto

Millthorn Points 1257

Dans MySQL :

SELECT * FROM `table` LIMIT 0, 10

3 votes

Quelle est la différence entre la limite 0, 10 et la limite 10 ? Et pourquoi la limite 10, 20 ne me donne-t-elle pas 10 lignes entre les 10e et 20e lignes ? EDIT : Oh, donc limiter 10, 20 signifie me donner 20 lignes après la 10ème ligne. Si je veux des lignes entre 10 et 20, je dois faire limit 10, 10. Merci !

28voto

Brabster Points 18764

En SQL standard, vous pouvez utiliser :

... FETCH FIRST 10 ROWS ONLY

Cette fonction est prise en charge par DB2, PostgreSQL et Oracle 12.1 (et versions ultérieures).

0 votes

Pour PostgreSQL également

23voto

wallyk Points 33150

Oracle

WHERE ROWNUM <= 10  and whatever_else ;

ROWNUM est une variable magique qui contient le numéro de séquence de chaque ligne 1 n .

2 votes

C'est faux. "rownum" récupère les 'n' premières lignes de la table. Il ne filtrera pas à partir de la condition "whatever_else" !

1 votes

stackoverflow.com/questions/874082/ Veuillez suivre la réponse de stili pour les BD liées à Oracle.

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