Bonjour,
Voici mon problème:
Dans une base de données, je dispose de composés chimiques avec leur formule.
Il se trouve que lors de l'affichage de mes composés, il est très efficace de les classer par nombre d'atomes, c'est ainsi que les chimistes les retrouvent le plus rapidement.
Ainsi, je souhaite trier mes molécules:
-d'abord selon le nombre de carbones
-ensuite par nombre de Cl
-puis par nombre de N
etc...
sachant que le tri selon les Cl s'effectuera après le tri par carbone et ainsi de suite.
On aura ainsi par exemple en ordre:
C
CClN4
CCl2
C2Cl3N2
C2Cl3N4
C2Cl5N5
C3ClN2
C3Cl2N
C4ClN8
C4Cl2
De plus, ce tri est destiné à être effectué sur une liste de 400 composés chimiques qui ne cessera de s'agrandir. Par ailleurs, les molécules ne sont absolument pas triées dans la base de données mais rentrées complètement aléatoirement selon les besoins.
Ainsi, je me demandais si je pouvais me servir directement de MYSQL pour trier mes données.
Puis je par exemple effectuer un "SELECT molecule ORDER BY C, Cl, N" ou utiliser des Group by avec plusieurs critères de tri (hiérarchisés) ou éventuellement utiliser des requêtes imbriquées?
Sinon, peut être dois je implanter un algorithme de tri en php a posteriori?
Qu'en pensez vous? N'hésitez pas à me demander des précisions.
Merci d'avance pour l'aide que vous pourrez m'apporter.
Partager