J'ai une table contenant des données pagehit (normalisées) et j'ai besoin de saisir les 10 dernières ips uniques.Comment récupérer les 10 dernières adresses IP DISTINCT d'une table MySQL?
J'ai essayé de le faire comme ceci:
SELECT * FROM spy_hits ORDER BY date desc GROUP BY ip LIMIT 10;
Ce qui devrait me donner ce résultat:
+-----+------------+-----+---------+----+------+------+---------+-------+-------+ | id | date | ip | browser | os | page | host | referer | query | agent | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ | 354 | 1244442065 | 2 | 3 | 2 | 16 | 1 | 47 | 12 | 2 | | 311 | 1244442000 | 1 | 2 | 1 | 16 | 1 | 36 | 12 | 1 | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ 2 rows in set (0.00 sec)
Ce sont les derniers visiteurs uniques sur le site.
Mais j'obtiens une erreur de syntaxe au lieu de ce résultat.
donc je dois faire cette requête:
SELECT * FROM spy_hits GROUP BY ip ORDER BY date desc LIMIT 10;
Ce que je pensais être ok. Mais il donne ce résultat:
+-----+------------+-----+---------+----+------+------+---------+-------+-------+ | id | date | ip | browser | os | page | host | referer | query | agent | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ | 280 | 1242130841 | 2 | 3 | 2 | 16 | 1 | 47 | 12 | 2 | | 268 | 1242130818 | 1 | 2 | 1 | 16 | 1 | 36 | 12 | 1 | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ 2 rows in set (0.00 sec)
Mais qui définit l'ordre par date après sa déjà regroupées il saisit la première ips unique dans la table qui sont aussi les plus anciennes.
Alors la table va:
id --- date 268 1242130818 (Old) | | V V 354 1244442065 (New)
Mais je veux qu'il aille comme ça avant que je fais le groupe par:
id --- date 354 1244442065 (New) ^ ^ | | 268 1242130818 (Old)
J'utilise PHP avec elle donc si quelqu'un a un idée de comment obtenir les résultats avec une solution PHP.
Vive à l'avance :)
+1 pour une question solide d'un utilisateur relativement nouveau. Si toutes les questions dans StackOverflow étaient comme ça, le monde serait un meilleur endroit. –
+1 pour la même raison que le commentaire ci-dessus. Continuez! :) – kizzx2