recherche
Maisonbase de donnéestutoriel mysqlComment limiter le nombre de requêtes dans MySQL

Dans MySQL, vous pouvez utiliser la clause "LIMIT" pour limiter le nombre de requêtes. Cette clause peut limiter le nombre d'éléments renvoyés par les résultats de la requête SELECT. La syntaxe est "SELECT column1, column2,... FROM table LIMIT. décalage, compte ;" .

Comment limiter le nombre de requêtes dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Lorsqu'il y a des dizaines de milliers de données dans la table de données, interroger toutes les données de la table en même temps ralentira la vitesse de retour des données et mettra beaucoup de pression sur le serveur de base de données. À ce stade, vous pouvez utiliser la clause LIMIT pour limiter le nombre d'éléments renvoyés par les résultats de la requête.

LIMIT est un mot-clé spécial dans MySQL, qui est utilisé pour spécifier quel enregistrement les résultats de la requête commencent à être affichés et combien d'enregistrements sont affichés au total.

1. Introduction à la clause MySQL LIMIT

Utilisez la clause LIMIT dans l'instruction SELECT pour limiter le nombre de lignes dans l'ensemble de résultats. La clause LIMIT accepte un ou deux paramètres. La valeur des deux paramètres doit être zéro ou un entier positif. SELECT语句中使用LIMIT子句来约束结果集中的行数。LIMIT子句接受一个或两个参数。两个参数的值必须为零或正整数。

下面说明了两个参数的LIMIT子句语法:

SELECT 
    column1,column2,...
FROM
    table
LIMIT offset , count;

我们来查看LIMIT子句参数:

  • offset参数指定要返回的第一行的偏移量。第一行的偏移量为0,而不是1
  • count指定要返回的最大行数。

Comment limiter le nombre de requêtes dans MySQL

当您使用带有一个参数的LIMIT子句时,此参数将用于确定从结果集的开头返回的最大行数。

SELECT 
    column1,column2,...
FROM
    table
LIMIT count;

上面的查询等同于下面接受两个参数的LIMIT子句的查询:

SELECT 
    column1,column2,...
FROM
    table
LIMIT 0 , count;

2. 使用MySQL LIMIT获取前N行

可以使用LIMIT子句来选择表中的前N行记录,如下所示:

SELECT 
    column1,column2,...
FROM
    table
LIMIT N;

例如,要查询employees表中前5个客户,请使用以下查询:

SELECT customernumber, customername, creditlimit FROM customers LIMIT 5;

或者 -

SELECT customernumber, customername, creditlimit FROM customers LIMIT 0,5;

执行上面语句,得到以下结果 -

mysql> SELECT customernumber, customername, creditlimit FROM customers LIMIT 5;
+----------------+----------------------------+-------------+
| customernumber | customername               | creditlimit |
+----------------+----------------------------+-------------+
|            103 | Atelier graphique          | 21000       |
|            112 | Signal Gift Stores         | 71800       |
|            114 | Australian Collectors, Co. | 117300      |
|            119 | La Rochelle Gifts          | 118200      |
|            121 | Baane Mini Imports         | 81700       |
+----------------+----------------------------+-------------+
5 rows in set

3. 使用MySQL LIMIT获得最高和最低的值

LIMIT子句经常与ORDER BY子句一起使用。首先,使用ORDER BY子句根据特定条件对结果集进行排序,然后使用LIMIT子句来查找最小或最大值。

注意:ORDER BY子句按指定字段排序的使用。

请参见示例数据库(yiibaidb)中的以下customers表,其表结构如下所示 -

mysql> desc customers;
+------------------------+---------------+------+-----+---------+-------+
| Field                  | Type          | Null | Key | Default | Extra |
+------------------------+---------------+------+-----+---------+-------+
| customerNumber         | int(11)       | NO   | PRI | NULL    |       |
| customerName           | varchar(50)   | NO   |     | NULL    |       |
| contactLastName        | varchar(50)   | NO   |     | NULL    |       |
| contactFirstName       | varchar(50)   | NO   |     | NULL    |       |
| phone                  | varchar(50)   | NO   |     | NULL    |       |
| addressLine1           | varchar(50)   | NO   |     | NULL    |       |
| addressLine2           | varchar(50)   | YES  |     | NULL    |       |
| city                   | varchar(50)   | NO   |     | NULL    |       |
| state                  | varchar(50)   | YES  |     | NULL    |       |
| postalCode             | varchar(15)   | YES  |     | NULL    |       |
| country                | varchar(50)   | NO   |     | NULL    |       |
| salesRepEmployeeNumber | int(11)       | YES  | MUL | NULL    |       |
| creditLimit            | decimal(10,2) | YES  |     | NULL    |       |
+------------------------+---------------+------+-----+---------+-------+
13 rows in set

例如,要查询信用额度最高的前五名客户,请使用以下查询:

SELECT customernumber, customername, creditlimit
FROM customers
ORDER BY creditlimit DESC
LIMIT 5;

执行上面查询语句,得到以下结果 -

mysql> SELECT customernumber, customername, creditlimit
FROM customers
ORDER BY creditlimit DESC
LIMIT 5;
+----------------+------------------------------+-------------+
| customernumber | customername                 | creditlimit |
+----------------+------------------------------+-------------+
|            141 | Euro+ Shopping Channel       | 227600      |
|            124 | Mini Gifts Distributors Ltd. | 210500      |
|            298 | Vida Sport, Ltd              | 141300      |
|            151 | Muscle Machine Inc           | 138500      |
|            187 | AV Stores, Co.               | 136800      |
+----------------+------------------------------+-------------+
5 rows in set

以下查询将返回信用限额最低的五位客户:

SELECT customernumber, customername, creditlimit
FROM customers
ORDER BY
 creditlimit ASC
LIMIT 5;

4. 使用MySQL LIMIT获得第n个最高值

MySQL中最棘手的问题之一是:如何获得结果集中的第n个最高值,例如查询第二(或第n)贵的产品是哪个,显然不能使用MAX或MIN这样的函数来查询获得。 但是,我们可以使用MySQL LIMIT来解决这样的问题。

  • 首先,按照降序对结果集进行排序。
  • 第二步,使用LIMIT子句获得第n贵的产品。

通用查询如下:

SELECT 
    column1, column2,...
FROM
    table
ORDER BY column1 DESC
LIMIT nth-1, count;

下面我们来看看一个例子,将使用示例数据库(yiibaidb)中的产品(products)表来进行演示。products表的结构如下所示 -

mysql> desc products;
+--------------------+---------------+------+-----+---------+-------+
| Field              | Type          | Null | Key | Default | Extra |
+--------------------+---------------+------+-----+---------+-------+
| productCode        | varchar(15)   | NO   | PRI | NULL    |       |
| productName        | varchar(70)   | NO   |     | NULL    |       |
| productLine        | varchar(50)   | NO   | MUL | NULL    |       |
| productScale       | varchar(10)   | NO   |     | NULL    |       |
| productVendor      | varchar(50)   | NO   |     | NULL    |       |
| productDescription | text          | NO   |     | NULL    |       |
| quantityInStock    | smallint(6)   | NO   |     | NULL    |       |
| buyPrice           | decimal(10,2) | NO   |     | NULL    |       |
| MSRP               | decimal(10,2) | NO   |     | NULL    |       |
+--------------------+---------------+------+-----+---------+-------+
9 rows in set

查看以下产品表中的行记录:

mysql> SELECT productCode, productName, buyprice
FROM products
ORDER BY
 buyprice DESC;
+-------------+--------------------------------------+----------+
| productCode | productName                          | buyprice |
+-------------+--------------------------------------+----------+
| S10_4962    | 1962 LanciaA Delta 16V               | 103.42   |
| S18_2238    | 1998 Chrysler Plymouth Prowler       | 101.51   |
| S10_1949    | 1952 Alpine Renault 1300             | 98.58    |
| S24_3856    | 1956 Porsche 356A Coupe              | 98.3     |
| S12_1108    | 2001 Ferrari Enzo                    | 95.59    |
| S12_1099    | 1968 Ford Mustang                    | 95.34    |
... ....
+-------------+--------------------------------------+----------+
110 rows in set

我们的任务找出结果集中价格第二高的产品。可以使用LIMIT子句来选择第二行,如以下查询(注意:偏移量从0开始,所以要指定从1开始,然后取一行记录):

SELECT productCode, productName, buyprice FROM  products
ORDER BY buyprice DESC
LIMIT 1, 1;

执行上面查询语句,得到以下结果 -

mysql> SELECT productCode, productName, buyprice FROM  products
ORDER BY buyprice DESC
LIMIT 1, 1;
+-------------+--------------------------------+----------+
| productCode | productName                    | buyprice |
+-------------+--------------------------------+----------+
| S18_2238    | 1998 Chrysler Plymouth Prowler | 101.51   |
+-------------+--------------------------------+----------+
1 row in set

类似的,获取售价第三高、第四高的产品信息为:LIMIT 2, 1LIMIT 3, 1

La syntaxe de la clause LIMIT pour les deux paramètres est expliquée ci-dessous :

rrreeeRegardons les paramètres de la clause LIMIT :

  • offset Le paramètre spécifie le décalage de la première ligne à renvoyer. Le décalage de la première ligne est 0, pas 1.
  • countSpécifie le nombre maximum de lignes à renvoyer.
1. png🎜🎜Lorsque vous utilisez la clause LIMIT avec un paramètre, ce paramètre est utilisé pour déterminer le nombre maximum de lignes à renvoyer depuis le début de l'ensemble de résultats. 🎜rrreee🎜La requête ci-dessus est équivalente à la requête suivante qui accepte une clause LIMIT avec deux paramètres : 🎜rrreee

2. MySQL LIMIT obtient les N premières lignes🎜🎜Vous pouvez utiliser la clause LIMIT pour sélectionner les N premières lignes d'enregistrements dans la table, comme indiqué ci-dessous : 🎜rrreee🎜Par exemple , pour interroger Pour les <code>5 premiers clients de la table employés, veuillez utiliser la requête suivante : 🎜rrreee🎜 ou -🎜rrreee🎜Exécutez l'instruction ci-dessus et obtenez les résultats suivants -🎜rrreee

3. Utilisez MySQL LIMIT pour obtenir les valeurs les plus élevées et les plus basses 🎜🎜 La clause LIMIT est souvent utilisée avec ORDER. Clause PAR. Tout d'abord, utilisez la clause ORDER BY pour trier l'ensemble de résultats en fonction de critères spécifiques, puis utilisez la clause LIMIT pour rechercher la valeur minimale ou maximale. 🎜🎜🎜Remarque : L'utilisation de la clause ORDER BY pour trier selon les champs spécifiés. 🎜🎜🎜Veuillez consulter la table clients suivante dans l'exemple de base de données (yiibaidb), dont la structure de table est la suivante - 🎜rrreee🎜Par exemple, pour interroger les cinq principaux clients avec la limite de crédit la plus élevée, utilisez la requête suivante :🎜rrreee🎜Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants -🎜rrreee🎜La requête suivante renverra les cinq clients avec la limite de crédit la plus basse :🎜rrreee

🎜🎜4 . Utilisez MySQL LIMIT pour obtenir la nième valeur la plus élevée 🎜🎜L'un des problèmes les plus difficiles de MySQL est : comment obtenir la nième valeur la plus élevée dans l'ensemble de résultats, comme interroger le deuxième (ou n) Quel produit est le plus cher ? Évidemment, vous ne pouvez pas utiliser des fonctions comme MAX ou MIN pour l'interroger. Cependant, nous pouvons utiliser MySQL LIMIT pour résoudre de tels problèmes. 🎜
  • Tout d'abord, triez les résultats définis par ordre décroissant.
  • La deuxième étape consiste à utiliser la clause LIMIT pour obtenir le nème produit le plus cher.
🎜La requête générale est la suivante : 🎜rrreee🎜Jetons un coup d'œil à un exemple ci-dessous, en utilisant la table products (products) dans la base de données exemple (yiibaidb) pour démonstration. La structure de la table products est la suivante - 🎜rrreee🎜Regardez les lignes de la table de produits suivante : 🎜rrreee🎜 Notre tâche est de trouver le deuxième produit le plus cher dans l'ensemble de résultats. Vous pouvez utiliser la clause LIMIT pour sélectionner la deuxième ligne, comme la requête suivante (remarque : le décalage commence à partir de 0, spécifiez donc à partir de 1 Commencez, puis prenez une rangée d'enregistrements) : 🎜rrreee🎜Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants -🎜rrreee🎜De même, obtenir les informations sur le produit avec les troisième et quatrième prix de vente les plus élevés est : LIMIT 2 , 1 code> et <code>LIMIT 3, 1. 🎜🎜【Recommandation associée : 🎜tutoriel vidéo mysql🎜】🎜

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!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Comment la cardinalité d'index MySQL affecte-t-elle les performances de la requête?Comment la cardinalité d'index MySQL affecte-t-elle les performances de la requête?Apr 14, 2025 am 12:18 AM

La cardinalité de l'index MySQL a un impact significatif sur les performances de la requête: 1. L'indice de cardinalité élevé peut réduire plus efficacement la plage de données et améliorer l'efficacité de la requête; 2. L'indice de cardinalité faible peut entraîner une analyse complète de la table et réduire les performances de la requête; 3. Dans l'indice conjoint, des séquences de cardinalité élevées doivent être placées devant pour optimiser la requête.

MySQL: Ressources et tutoriels pour les nouveaux utilisateursMySQL: Ressources et tutoriels pour les nouveaux utilisateursApr 14, 2025 am 12:16 AM

Le chemin d'apprentissage MySQL comprend des connaissances de base, des concepts de base, des exemples d'utilisation et des techniques d'optimisation. 1) Comprendre les concepts de base tels que les tables, les lignes, les colonnes et les requêtes SQL. 2) Apprenez la définition, les principes de travail et les avantages de MySQL. 3) Master les opérations de base CRUD et l'utilisation avancée, telles que les index et les procédures stockées. 4) Familier avec les suggestions de débogage d'erreurs et d'optimisation des performances communes, telles que l'utilisation rationnelle des indices et les requêtes d'optimisation. Grâce à ces étapes, vous aurez une compréhension complète de l'utilisation et de l'optimisation de MySQL.

MySQL du monde réel: exemples et cas d'utilisationMySQL du monde réel: exemples et cas d'utilisationApr 14, 2025 am 12:15 AM

Les applications réelles de MySQL incluent la conception de base de données de base et l'optimisation des requêtes complexes. 1) Utilisation de base: utilisé pour stocker et gérer les données des utilisateurs, telles que l'insertion, l'interrogation, la mise à jour et la suppression des informations utilisateur. 2) Utilisation avancée: gérer la logique commerciale complexe, telle que la gestion de l'ordre et des stocks des plateformes de commerce électronique. 3) Optimisation des performances: améliorer les performances en utilisant rationnellement les index, les tables de partition et les caches de requête.

Commandes SQL dans MySQL: Exemples pratiquesCommandes SQL dans MySQL: Exemples pratiquesApr 14, 2025 am 12:09 AM

Les commandes SQL dans MySQL peuvent être divisées en catégories telles que DDL, DML, DQL et DCL, et sont utilisées pour créer, modifier, supprimer des bases de données et tables, insérer, mettre à jour, supprimer des données et effectuer des opérations de requête complexes. 1. L'utilisation de base inclut la table de création de création, les données d'insertion d'inserto et de sélectionner les données de requête. 2. L'utilisation avancée implique la jointure pour les jointures de table, les sous-questionnaires et le groupe pour l'agrégation de données. 3. Des erreurs courantes telles que les erreurs de syntaxe, les problèmes de décalage du type de données et d'autorisation peuvent être débogués par la vérification de la syntaxe, la conversion du type de données et la gestion de l'autorisation. 4. Les suggestions d'optimisation des performances incluent l'utilisation d'index, d'éviter la numérisation complète de la table, d'optimiser les opérations de jointure et d'utiliser les transactions pour assurer la cohérence des données.

Comment InNODB gère-t-il la conformité à l'acide?Comment InNODB gère-t-il la conformité à l'acide?Apr 14, 2025 am 12:03 AM

InnODB atteint l'atomicité par undolog, la cohérence et l'isolement par le mécanisme de verrouillage et le MVCC, et la persistance par redolog. 1) Atomicité: Utilisez undolog pour enregistrer les données d'origine pour vous assurer que la transaction peut être annulée. 2) Cohérence: assurez la cohérence des données via le verrouillage au niveau des lignes et le MVCC. 3) Isolement: prend en charge plusieurs niveaux d'isolement et RepeatableRead est utilisé par défaut. 4) Persistance: utilisez Redolog pour enregistrer des modifications pour garantir que les données sont enregistrées pendant longtemps.

Place de MySQL: bases de données et programmationPlace de MySQL: bases de données et programmationApr 13, 2025 am 12:18 AM

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

MySQL: des petites entreprises aux grandes entreprisesMySQL: des petites entreprises aux grandes entreprisesApr 13, 2025 am 12:17 AM

MySQL convient aux petites et grandes entreprises. 1) Les petites entreprises peuvent utiliser MySQL pour la gestion des données de base, telles que le stockage des informations clients. 2) Les grandes entreprises peuvent utiliser MySQL pour traiter des données massives et une logique métier complexe pour optimiser les performances de requête et le traitement des transactions.

Que sont les lectures de Phantom et comment InNODB les empêche-t-il (verrouillage des touches suivantes)?Que sont les lectures de Phantom et comment InNODB les empêche-t-il (verrouillage des touches suivantes)?Apr 13, 2025 am 12:16 AM

INNODB empêche efficacement la lecture des fantômes via le mécanisme de blocage à clé suivante. 1) Le blocage de touche suivante combine le verrouillage des lignes et le verrouillage de l'espace pour verrouiller les enregistrements et leurs lacunes pour empêcher l'insertion de nouveaux enregistrements. 2) Dans les applications pratiques, en optimisant la requête et en ajustant les niveaux d'isolement, la concurrence des verrouillage peut être réduite et les performances de la concurrence peuvent être améliorées.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.