Maison >base de données >tutoriel mysql >Comment limiter les résultats d'une requête SQL aux lignes supérieures ?
Sélectionnez les premières lignes de la requête SQL : limite de résultat
Dans les requêtes de bases de données, il est souvent nécessaire de n'afficher qu'un nombre limité de résultats. Que ce soit en raison de limitations de pages ou d'optimisation des performances, savoir comment sélectionner uniquement les premières lignes spécifiques peut améliorer considérablement les opérations de la base de données.
Par exemple, considérons la requête suivante, qui récupère des informations sur les célébrités mentionnées dans les publications de la journée écoulée :
<code class="language-sql">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</code>
Pour afficher uniquement les 10 premiers résultats de cette requête, vous pouvez utiliser une méthode spécifique à la base de données pour y parvenir :
SQL Serveur :
Dans SQL Server, vous pouvez utiliser le mot-clé TOP
pour spécifier le nombre de lignes à récupérer. La syntaxe est la suivante :
<code class="language-sql">SELECT TOP [number] ...</code>
Par exemple, pour sélectionner les 10 premières lignes d'une requête donnée, utilisez :
<code class="language-sql">SELECT TOP 10 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</code>
MySQL :
Dans MySQL, vous pouvez utiliser la clause LIMIT
pour limiter le nombre de lignes renvoyées. La syntaxe est la suivante :
<code class="language-sql">... ORDER BY [column_name] [order] LIMIT [number]</code>
Par exemple, pour sélectionner les 10 premières lignes d'une requête donnée, utilisez :
<code class="language-sql">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 LIMIT 10</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!