Maison  >  Questions et réponses  >  le corps du texte

Utilisation de la clause MySQL WHERE

MySQL J'essaie d'obtenir les valeurs Category_id entre 9 et l'identifiant de catégorie maximum sans utiliser la fonction Max (en utilisant une sous-requête).

J'ai essayé la requête MySQL ci-dessous. Cela fonctionne pour la dernière partie, c'est-à-dire qu'il donnecategory_id jusqu'aucategory_id maximum. Cependant, il donne tous les identifiants de catégorie depuis le début (1), c'est-à-dire qu'il ne commence pas à « 9 ».

SELECT columns 
FROM table_name 
WHERE (9 <= category_id <=  (
                 SELECT category_id 
                 FROM table_name 
                 ORDER BY category_id 
                 DESC LIMIT 1 )
       );

P粉403804844P粉403804844407 Il y a quelques jours525

répondre à tous(1)je répondrai

  • P粉221046425

    P粉2210464252023-09-10 19:32:46

    Logiquement, votre requête est

    SELECT { columns }
    FROM table_name 
    WHERE 9 <= category_id;

    Il ne sert à rien d'utiliser une condition de sous-requête : la valeur de la colonne ne peut pas être supérieure à la valeur maximale de cette colonne.

    répondre
    0
  • Annulerrépondre