[MySQL] Distinct toevoegen aan ingewikkelde query werkt niet

Pagina: 1
Acties:

  • kokorico
  • Registratie: Januari 2004
  • Laatst online: 20-05 23:03
Deze query geeft als resultaat de members waarvan het profiel meest bekeken werd. In de tabel view sla ik ook het ip adres op van de bezoeker. Nu wil ik echter uniek selecteren op ip maar dit werkt niet. Hoe los ik dit op?

code:
1
2
3
4
5
6
7
8
$sql = "SELECT distinct('view.ip'),view.object,leden.naam,leden.geslacht,leden.foto,leden.fotoaan, count(*)
as counter
FROM $mysql_view, $mysql_leden
WHERE view.type='1' AND ".$mysql_leden.".geslacht = '2' AND view.object = leden.id
AND view.tijd > $tijd  GROUP BY view.object
ORDER BY counter DESC LIMIT 20";
$result = mysql_query($sql)or die(mysql_error());
while ($object = mysql_fetch_object($result))


Voorbeel: http://www.datinglovers.com/top20.php

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

PHP:
1
2
3
4
5
6
7
8
$sql = "SELECT view.ip, view.object,leden.naam,leden.geslacht,leden.foto,leden.fotoaan, count(*)
as counter
FROM $mysql_view, $mysql_leden
WHERE view.type='1' AND ".$mysql_leden.".geslacht = '2' AND view.object = leden.id
AND view.tijd > $tijd  GROUP BY view.ip, view.object
ORDER BY counter DESC LIMIT 20";
$result = mysql_query($sql)or die(mysql_error());
while ($object = mysql_fetch_object($result))

Je mag DISTINCT niet gebruiken in queries met een GROUP BY clause, maar dat hoeft ook niet, je kan immers ook groupen op IP. :)

[ Voor 8% gewijzigd door NMe op 22-09-2004 22:17 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • kokorico
  • Registratie: Januari 2004
  • Laatst online: 20-05 23:03
aja lol, zover had ik niet ged8 :p Heel erg bedankt voor je oplossing :)

  • kokorico
  • Registratie: Januari 2004
  • Laatst online: 20-05 23:03
hmm werkt toch niet hoor met groep. foutje van mij. Is er dan geen enkele manier om distinct te gebruiken?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

kokorico schreef op 22 september 2004 @ 23:32:
hmm werkt toch niet hoor met groep. foutje van mij. Is er dan geen enkele manier om distinct te gebruiken?
Niet met een query met GROUP BY. Heb je trouwens mijn query overgenomen en deed die het niet? Want ik had wat foutjes laten staan, die ik inmiddels verwijderd heb. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • kokorico
  • Registratie: Januari 2004
  • Laatst online: 20-05 23:03
Nee die doet het niet. Ik krijg soms 2 dezelfde resultaten te zien in de top 20. Kijk eens op http://www.datinglovers.c...age=show&time=86400&sex=2 joan en veerle komen 2 maal voor. Dit had ik zonder die group by view.ip niet :s

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Helpt leden.naam toevoegen aan de GROUP BY clause niet?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 20-05 16:16

BrZ

GROUP BY view.ip, view.object

Die 2 zou ik omdraaien ;)

edit:

Hmm, dat klopt ook nog niet...

[ Voor 31% gewijzigd door BrZ op 23-09-2004 00:04 ]


  • kokorico
  • Registratie: Januari 2004
  • Laatst online: 20-05 23:03
BrZ schreef op 23 september 2004 @ 00:01:
GROUP BY view.ip, view.object

Die 2 zou ik omdraaien ;)

edit:

Hmm, dat klopt ook nog niet...
klopt idd ook niet :( Volgens mij is een distinct of dmv group dan niet mogelijk |:(

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Heb je geprobeerd om de naam er nog voor te zetten in de GROUP BY, zoals ik in mijn vorige post suggereerde?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • kokorico
  • Registratie: Januari 2004
  • Laatst online: 20-05 23:03
ja werkt nog steeds niet :(

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Volgens mij zit je het verkeerd uit te leggen.
Het lijkt me logischer dat je het aantal unieke IP's wilt hebben.
Dan wordt het iets in de richting van:
code:
1
2
3
select lid, count(distinct ip)
from tabel
group by lid

Who is John Galt?

Pagina: 1