Requete mysql avec min() et max()

Requete mysql avec min() et max() - PHP - Programmation

Marsh Posté le 21-11-2007 à 01:42:50    

Bonjour,
je vous explique mon probléme (encore avec une requete mysql).
 
j'ai une table contenant la position d'un joueur sur une map en 2D (enfin juste une valeur, admettons x).
j'aimerai faire une requete mysql pour trouver le joueur le plus proche d'un joueur A , ainsi que le joueur le plus loin de ce joueur A.
je connais la formule pour calculer la distance, mais je ne vois pas comment utiliser la requete?
 
select min(formule mathématique de la distance entre A et le joueur de la base de donnée) from joueur
 
mais c'est stupide non? vu que min doit recevoir un nom de champs comme argument?
 
quelqu'un à une idée?
merci d'avance.

Reply

Marsh Posté le 21-11-2007 à 01:42:50   

Reply

Marsh Posté le 21-11-2007 à 09:31:30    

Code :
  1. SELECT formule(A,B) distance FROM joueur A INNER JOIN joueur B ON A.id<>B.id WHERE  [...] ORDER BY distance LIMIT 1


mais si tu as "beaucoup" de joueur n'espere pas une execution rapide de ta requête.


Message édité par anapajari le 21-11-2007 à 09:34:12
Reply

Marsh Posté le 21-11-2007 à 11:27:38    

merci beaucoup çà marche parfaitement.
 
Je te souhaite une bonne continuation et une bonne journée!
 
MERCI:-)

Reply

Marsh Posté le 21-11-2007 à 11:35:59    

non, le min accepte n'importe quoi en entrée normalement.
 
ps : pour la distance, si tu ne cherches qu'à trouver la plus petite, sans avoir besoin de la connaître, alors ne fais pas la racine carrée finale : calcul inutile, car il ne change pas l'ordre des résultats, et c'est de loin le plus lent lors du calcul d'une distance !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed