|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 25 ![]() |
Bonjour,
J'ai une requête qui affiche une boucle : Mais il y a souvent des doublons : Code :
Est ce que quelqu'un peut m'aider ? Merci d'avance |
||
|
|
00
|
|
|
#2 | ||
|
Membre du Club
![]() Développeur informatique Inscription : janvier 2008 Messages : 92 ![]() |
Salut,
J'imagine que tu as déjà essayé avec : Code :
__________________
Heureusement qu'on n'envoie pas des fusées..! |
||
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Étudiant Inscription : juin 2007 Messages : 129 ![]() |
salut,
ta requete aussi pourrait nous aidé! mais pour ce que tu veux faire c'est bien l'utilisation du distinct qu'il te faut ciao
__________________
Ne me vouvoie pas je ne suis pas supérieur à toi! moi je tutoie mais je vous assure que le respect y est! |
|
|
00
|
|
|
#4 | ||||||
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 25 ![]() |
Bonsoir.
Voici ma requête actuelle : Code :
Code :
J'aimerais que ma liste ne comporte qu'une ligne par IP, l'enregistrement le plus récent. Exemple : Code :
Avec DISTINCT ça bug, visiblement on peut pas faire un SELECT *, on ne doit prendre qu'une colonne. |
||||||
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() Développeur informatique Inscription : janvier 2008 Messages : 92 ![]() |
Code :
ps: Fuis comme la peste le SELECT *. Il faut toujours nommer explicitement les champs que l'on souhaite sélectionner et les préfixer avec le nom de la table (si jointures).
__________________
Heureusement qu'on n'envoie pas des fusées..! |
||
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 25 ![]() |
Merci du conseil.
J'ai essayé ta requête. C'est mieux mais il manque un détail. Il y a toujours plusieurs sorties pour un ip. Exemple Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Développeur informatique Inscription : janvier 2008 Messages : 92 ![]() |
Supprime le champ url du GROUP BY.
__________________
Heureusement qu'on n'envoie pas des fusées..! |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 25 ![]() |
Je n'ai plus qu'un ip par ligne. C'est cool. Mais ce n'est pas le dernier enregistrement qu'il me sort mais le premier...
|
|
|
00
|
|
|
#9 | |
|
Membre habitué
![]() Étudiant Inscription : juin 2007 Messages : 129 ![]() |
salut
Code :
SELECT distinct(ip), url, datetime FROM cpg1410_map GROUP BY ip, url ORDER BY ip ASC, datetime DESC; Citation:
bonne soirée ciao
__________________
Ne me vouvoie pas je ne suis pas supérieur à toi! moi je tutoie mais je vous assure que le respect y est! |
|
|
|
00
|
|
|
#10 | |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 25 ![]() |
Citation:
En supprimant le url dans group by j'obtiens le même résultat qu'avant. J'ai effectivement 1 ip par ligne mais c'est toujours la première valeur qu'il me sort et pas la dernière. |
|
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Développeur informatique Inscription : janvier 2008 Messages : 92 ![]() |
Et ça:
Code :
SELECT ip, url, MAX(datetime) AS max_datetime FROM cpg1410_map GROUP BY ip HAVING datetime=max_datetime ORDER BY ip;
__________________
Heureusement qu'on n'envoie pas des fusées..! |
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 25 ![]() |
error : Unknown column 'datetime' in 'having clause'
|
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Développeur informatique Inscription : janvier 2008 Messages : 92 ![]() |
Et si tu rajoutes datetime dans la liste des champs ?
__________________
Heureusement qu'on n'envoie pas des fusées..! |
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 25 ![]() |
error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX(datetime) AS max_datetime FROM cpg1410_map GROUP BY ip HAVING datetime=max_d' at line 1
|
|
|
00
|
|
|
#15 | |
|
Membre habitué
![]() Étudiant Inscription : juin 2007 Messages : 129 ![]() |
salut,
Citation:
ce qui est en rouge est a exclure et si tu a une colone datetime dans ta table cela devrai fonctionné
__________________
Ne me vouvoie pas je ne suis pas supérieur à toi! moi je tutoie mais je vous assure que le respect y est! |
|
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 25 ![]() |
Hum... toujours une erreur :
error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX(datetime) FROM cpg1410_map GROUP BY ip ORDER BY ip' at line 1 |
|
|
00
|
|
|
#17 | |||
|
Membre du Club
![]() Développeur informatique Inscription : janvier 2008 Messages : 92 ![]() |
Citation:
Code :
ps: merci de veiller à l'orthographe!!!
__________________
Heureusement qu'on n'envoie pas des fusées..! |
|||
|
|
00
|
|
|
#18 |
|
Membre habitué
![]() Étudiant Inscription : juin 2007 Messages : 129 ![]() |
arrrrffff ben desolé je sèche j'ai pas d'autre idée ....si cela me vient je t'en fait part dès que possible!
ciao
__________________
Ne me vouvoie pas je ne suis pas supérieur à toi! moi je tutoie mais je vous assure que le respect y est! |
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 25 ![]() |
C'est vraiment désespérant.
Ne puis-je pas stocker toutes les données de ma requête dans un array puis le trier avec une boucle pour obtenir le résultat désiré ? Malheureusement je ne sais très bien quoi donner comme condition pour réaliser cette boucle. Quelqu'un pourrait-il m'aider ? Merci pour votre aide. |
|
|
00
|
|
|
#20 | ||
|
Membre du Club
![]() Développeur informatique Inscription : janvier 2008 Messages : 92 ![]() |
On se détend!!!
![]() Essaye ça: Code :
__________________
Heureusement qu'on n'envoie pas des fusées..! |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com