Comment interroger la base de données pour le plus proche entre la valeur et le tri?
Question
Je cherche une valeur dans ma base de données MySQL et que vous voulez trier les résultats par les éléments les plus proches.
Exemple:
Je recherche pour une valeur de 150, dans ma requête que je fais maintenant ce qui suit:
SELECT * FROM table WHERE field BETWEEN 100 AND 200
Les 100 et 200 sont calculés avant par une addition facile et soustractions. Mais maintenant, mes résultats sont foiré, car il me donne les résultats en arrière comme ils ont été enregistrés dans la base de données.
Est-il possible de trier les résultats dans MySQL ou dois-je les trier ensuite avec PHP?
La solution
SELECT *
FROM table
WHERE field BETWEEN 100 AND 200
ORDER BY field
ou avez-vous voulez quelque chose comme
SELECT *
FROM table
WHERE field BETWEEN 100 AND 200
ORDER BY ABS(150-field)
Quoi qu'il en soit, il y a interactifs des didacticiels en ligne SQL qui devrait vous aider à démarrer rapidement votre SQL compétences.
Autres conseils
vous devriez être en mesure d'ajouter une commande par article comme ceci:
ORDER BY ABS(150-field)