Comment puis-je trouver la plus grande valeur d'une colonne dans postgres sql?
Par exemple:
name | weight
jon 100
jane 120
joe 130
Comment puis-je retourner uniquement le nom de la personne ayant le plus de poids?
Vous devez vous connecter pour publier un commentaire.
Utiliser ceci:
Beaucoup plus performant que l'autre réponse et les résultats en ligne.
EXPLAIN
sur vos requêtes.ORDER BY DESC met les lignes avec des valeurs null dans la partie supérieure.
Pour éviter de renvoyer des résultats correspondant aux les valeurs null:
SELECT name FROM tbl WHERE weight = (SELECT MAX(weight) FROM tbl);
Remarque: Cette requête renvoie plusieurs résultats si plusieurs personnes ont un poids égal au poids maximum. Pour prendre juste un, ajouter
LIMIT 1
à la fin de la requête.Remerciements et plus d'informations:
Pourquoi les valeurs NULL venir en premier lors de la commande DESC dans une requête PostgreSQL?
MIN/MAX vs ORDER BY et LIMIT
Postgres Fonction MAX
Si vous avez besoin de trouver plusieurs lignes, par exemple la date à laquelle chaque personne a poids maximum:
c'est à dire pour "ne" vous voulez obtenir
"don | 120 | 20"
et pour joe vous voulez"joe | 90 | 1"
, alors vous pouvez écrire: