Comment 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 ;" .
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
指定要返回的最大行数。
当您使用带有一个参数的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, 1
和 LIMIT 3, 1
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 est0
, pas1
. -
count
Spécifie le nombre maximum de lignes à renvoyer.

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 : 🎜rrreee2. 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 -🎜rrreee3. 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 n
iè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🎜】🎜
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 n
iè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🎜】🎜
LIMIT
pour obtenir le n
ème produit le plus cher. 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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

Navicat lui-même ne stocke pas le mot de passe de la base de données et ne peut récupérer que le mot de passe chiffré. Solution: 1. Vérifiez le gestionnaire de mots de passe; 2. Vérifiez la fonction "Remember Motway" de Navicat; 3. Réinitialisez le mot de passe de la base de données; 4. Contactez l'administrateur de la base de données.

Créez une base de données à l'aide de NAVICAT Premium: Connectez-vous au serveur de base de données et entrez les paramètres de connexion. Cliquez avec le bouton droit sur le serveur et sélectionnez Créer une base de données. Entrez le nom de la nouvelle base de données et le jeu de caractères spécifié et la collation. Connectez-vous à la nouvelle base de données et créez le tableau dans le navigateur d'objet. Cliquez avec le bouton droit sur le tableau et sélectionnez Insérer des données pour insérer les données.

NAVICAT pour MARIADB ne peut pas afficher directement le mot de passe de la base de données car le mot de passe est stocké sous forme cryptée. Pour garantir la sécurité de la base de données, il existe trois façons de réinitialiser votre mot de passe: réinitialisez votre mot de passe via Navicat et définissez un mot de passe complexe. Affichez le fichier de configuration (non recommandé, haut risque). Utilisez des outils de ligne de commande système (non recommandés, vous devez être compétent dans les outils de ligne de commande).

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

Étapes pour effectuer SQL dans NAVICAT: Connectez-vous à la base de données. Créez une fenêtre d'éditeur SQL. Écrivez des requêtes ou des scripts SQL. Cliquez sur le bouton Exécuter pour exécuter une requête ou un script. Affichez les résultats (si la requête est exécutée).

Vous pouvez créer une nouvelle connexion MySQL dans NAVICAT en suivant les étapes: ouvrez l'application et sélectionnez une nouvelle connexion (CTRL N). Sélectionnez "MySQL" comme type de connexion. Entrez l'adresse Hostname / IP, le port, le nom d'utilisateur et le mot de passe. (Facultatif) Configurer les options avancées. Enregistrez la connexion et entrez le nom de la connexion.

Raisons courantes pour lesquelles Navicat ne peut pas se connecter à la base de données et à ses solutions: 1. Vérifiez l'état d'exécution du serveur; 2. Vérifiez les informations de connexion; 3. Réglez les paramètres du pare-feu; 4. Configurer l'accès à distance; 5. Dépannage des problèmes de réseau; 6. Vérifier les autorisations; 7. Assurer la compatibilité de la version; 8. Dépannage d'autres possibilités.
