Je ne trouve pas comment trier dans un orde croissant un champ qui contient des adresses IP:
par exemple actuellement :
192.168.1.1 192.168.1.100 192.168.1.122 192.168.1.20 192.168.1.251 192.168.1.30
Alors que je voudrais avoir :
192.168.1.1 192.168.1.20 192.168.1.30 192.168.1.100 192.168.1.122 192.168.1.251
Merci

mysql> SELECT INET_ATON(adresseIP)AS bin_ip, adresseIP
-> FROM plageadresseip
-> ORDER BY bin_ip;
qui donnera le résultat suivant :
+------------------+---------------+
| bin_ip | adresseIP |
+------------------+---------------+
| 1124767601 | 67.10.151.113 |
| 1146676993 | 68.88.231.1 |
| 1146676994 | 68.88.231.2 |
| 1146676995 | 68.88.231.3 |
| 1146677002 | 68.88.231.10 |
| 1146677014 | 68.88.231.22 |
| 1146677015 | 68.88.231.23 |
| 1146677016 | 68.88.231.24 |
| 1146677017 | 68.88.231.25 |
| 1146677018 | 68.88.231.26 |
| 1146677019 | 68.88.231.27 |
| 1146677020 | 68.88.231.28 |
| 1146677021 | 68.88.231.29 |
| 1146677022 | 68.88.231.30 |
+------------+---------------+
Pour ne pas afficher la colonne bin_ip, il faut juste appliquer la requête de cette manière :
SELECT adresseIP
FROM plageadresseip
ORDER BY INET_ATON( adresseIP );
La fonction INET_ATON (ATON = Adresse TO Number) est très efficace...
Une autre fonction existe qui permet de faire le processus inverse... elle s'appelle très logiquement INET_NTOA... ;-)