DISTINCT

Résolu
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 - 19 sept. 2007 à 19:12
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 - 4 oct. 2007 à 15:29
Salut a tous!

J'ai un probleme avec un requete de type select... Ca parait simple a premiere vue, mais le resultat escompter n'y est pas.

Je veux faire un requete qui cherche les valeur distinct de deux champs (via php).

J'ai essayer la methode suivante:
SELECT DISTINCT (CONCAT(LEFT(upd,8) ,ip)), COUNT(id) AS hits, LEFT(upd,8) AS date, 'Unique' AS organized FROM sess WHERE ((LEFT(upd,8)>='".$dtFrom."')AND(LEFT(upd,8)<='".$dtTo."')) GROUP BY LEFT(upd,8) ORDER BY LEFT(upd,8) ASC

Mais ca ne fonctionne pas... car le resultats est identique quand je fais:
SELECT COUNT(id) AS hits,
LEFT(upd,8) AS date, 'Unique' AS organized FROM sess WHERE
((LEFT(upd,8)>='".$dtFrom."')AND(LEFT(upd,8)<='".$dtTo."')) GROUP
BY LEFT(upd,8) ORDER BY LEFT(upd,8) ASC

Et j'ai verifier dans la table et il existe plusieurs entre du meme ip sur les dates.

Quelqu'un peut m'aider svp?

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
A voir également:

2 réponses

zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
4 oct. 2007 à 15:29
Finalement j'en etais venu à créer cette requete


$qry = "SELECT LEFT(upd,8) AS date, COUNT(ip) AS hits, COUNT(DISTINCT ip) AS uniques, 'Over All' AS organized";
$qry . = " FROM sess WHERE ((LEFT(upd,8)>='".$dtFrom."')AND(LEFT(upd,8)<='".$dtTo."')) GROUP BY LEFT(upd,8) ORDER BY LEFT(upd,8)";




J'utilise php donc il y a des bout de php.





<hr width="100%" size="2" />
  zen69 aka Ortho Le Profett
  [site web]
3
cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 8
23 sept. 2007 à 06:20
Salut

C'est plutôt normal étant donné que dans les 2 cas tu utilise un GROUP BY sur ce qui semble être la date. Dans les 2 cas tu auras 1 enregistrement par date et donc le distinct ne changement rien à celà !

Si tu veux les combinaison de date et adresse IP, fait bien SELECT DISTINCT IP, DATE, mais vire le GROUP BY qui fait double emploi !



Cordialement

------------
Christian Robert - Winwise
http://blogs.codes-sources.com/christian
MVP SQL Server
0
Rejoignez-nous