Donc, dans une table simple comme celle-ci, comment puis-je sélectionner le titre qui a la valeur la plus élevée?
SELECT title FROM table HAVING MAX(value);
6 Réponses :
Utiliser limite code> et commande à l'aide de la valeur dans la commande décroissante
Vous avez besoin de Ceci ne renvoie qu'une seule ligne, si vous avez la même valeur plus élevée. Ensuite, vous devrez utiliser commander par code> Clause avec
Limiter code> Clause:
sous-requête code>: p>
Utilisez une sous-requête si vous souhaitez autoriser plusieurs titres partageant la même valeur maximale:
select title from table where value = (select max(value) from table);
Grande explication. La seule personne à expliquer pourquoi SQL de OP ne fonctionnait pas correctement.
Si vous utilisez MySQL 8+ ou plus tard, nous pouvons utiliser des fonctions analytiques:
WITH cte AS ( SELECT title, value, ROW_NUMBER() OVER (ORDER BY value DESC) rn FROM yourTable ) SELECT title, value FROM cte WHERE rn = 1;
Sélectionnez le titre à partir de la base de données où valeur = (sélectionnez max (valeur) à partir de la base de données); P>
Cela a déjà été répondu à plusieurs reprises. Si vous avez absolument besoin de dupliquer les réponses existantes, vous devriez au moins ajouter quelque chose d'unique.
SELECT title FROM t1 order by value desc limit 1;
double possible de SQL sélectionner uniquement les lignes avec la valeur maximale sur une colonne