Comment sélectionner uniquement les 10 premiers résultats d'une requête?
Je souhaite 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
Réponses:
Dans SQL Server, utilisez:
par exemple
Dans MySQL, utilisez:
la source
Dépend de votre SGBDR
MS SQL Server
MySQL
Sybase
Etc.
la source
Dans MySQL:
la source
La réponse ANSI SQL est
FETCH FIRST
.Si vous voulez que les liens soient inclus, faites-le à la
FETCH FIRST 10 ROWS WITH TIES
place.Pour ignorer un nombre spécifié de lignes, utilisez
OFFSET
, par exempleSautera les 20 premières lignes, puis récupérera 10 lignes.
Pris en charge par les nouvelles versions d'Oracle, PostgreSQL , MS SQL Server, Mimer SQL et DB2, etc.
la source
En SQL standard, vous pouvez utiliser:
... FETCH FIRST 10 ROWS ONLY
Ceci est pris en charge dans DB2, PostgreSQL et Oracle 12.1 (et versions ultérieures)
la source
Oracle
ROWNUM
est une variable magique qui contient le numéro de séquence de chaque ligne 1 .. n .la source
Cela a fonctionné pour moi.Si je peux, j'ai quelques dbscripts utiles que vous pouvez consulter
Dbscripts utiles
la source
Ce que vous recherchez, c'est une clause LIMIT.
la source
Oiseau de feu:
la source
PostgreSQL:
la source
la source
la source