2010-09-21 7 views
1

J'essaie de comprendre un problème que j'ai avec une commande SELECT MAX(). Je veux recueillir la valeur la plus élevée dans la colonne "BidAmount", mais je veux seulement que les entrées sélectionnées soient analysées pour la valeur la plus élevée. Par exemple, je veux que le plus haut «BidAmount» soit retourné où une autre colonne «UserID» = 6. Je veux connaître le «BidAmount» le plus élevé pour un client spécifique (ainsi la colonne «UserID» sera égale à 6 ').SELECT MAX() fonction dans MySQL

J'ai essayé d'utiliser ceci:

SELECT MAX(`BidAmount`) FROM `requests` WHERE `UserID` = 6 

Mais il ne fonctionne pas. Si le code SQL ci-dessus devrait fonctionner, il pourrait être un problème avec mon PHP. Que dois-je faire?

+1

SQL est très bien. Pouvez-vous partager le résultat attendu et réel avec les données de test sur lesquelles vous essayez cette requête? –

+0

Veuillez publier l'instruction CREATE TABLE pour la table 'REQUESTS'. –

Répondre

0

Votre instruction SQL est correcte. Que voulez-vous dire par ne fonctionne pas? S'il vous plaît nous montrer des exemples de données, et le résultat réel par rapport à attendu de votre requête.

Mise à jour

Il semble que vous pouvez avoir un type de données incorrectes pour BidAmount et obtenez une sorte non numérique. Pouvez-vous nous dire quel est ce type de données?

+0

Si j'utilise la clause WHERE, elle ne renvoie rien. Si je supprime la clause WHERE, il retournera '5' même si la valeur la plus élevée est '55'. – hohner

+0

@Jamie vous devez le transformer en int. –

+0

@Jamie: voir ma mise à jour ci-dessus. Fournir des schémas et des exemples de données serait utile. – RedFilter

1

Le sql semble bien, testé juste pour être sûr, donc je vois 3 problèmes possibles:
- vous l'un des mal tapé les noms de colonnes ou le nom de la table
- UserID est pas numéro
- le problème est dans votre code de l'application

Vous pouvez essayer d'exécuter la requête dans un phpmyadmin ou crapaud pour MySQL, pour voir le message d'erreur s'il y a ...

Bonne chance;)