login  Naam:   Wachtwoord: 
Registreer je!
 Forum

2 counts delen (Opgelost)

Offline MothZone - 07/06/2008 22:56 (laatste wijziging 09/06/2008 23:28)
Avatar van MothZonePHP ver gevorderde Edit: Ben blijkbaar niet de enige die het niet vind, heb het dan maar in 2 query's gedaan...


Hallo,
Ik ben bezig met een soort van rating-systeem voor tekstjes.
Voor de score van een tekstje te berekenen wil ik het aantal stemmen delen door het aantal unieke bezoekers.

Voor de top 5 van beste tekstjes, wil ik dus in 1 query zowel het aantal stemmen, als het aantal unieke bezoekers ophalen.
Maar mijn query wil maar niet lukken.
Apart werken ze, maar van zodra ik de 2 combineer loopt het mis.

Stemmen ophalen:
  1. SELECT t.id, t.titel, t.toegevoegd_datum, t.toegevoegd_tijd, COUNT( s.id )
  2. FROM tekstjes AS t, tekst_stemmen AS s
  3. WHERE t.id = s.tekst_id
  4. GROUP BY t.id, t.titel, t.toegevoegd_datum, t.toegevoegd_tijd
  5. ORDER BY COUNT( s.id ) DESC
  6. LIMIT 5


Unieke bezoekers ophalen:
  1. SELECT t.id, t.titel, t.toegevoegd_datum, t.toegevoegd_tijd, COUNT( g.id )
  2. FROM tekstjes AS t, tekst_gelezen AS g
  3. WHERE t.id = g.tekst_id
  4. GROUP BY t.id, t.titel, t.toegevoegd_datum, t.toegevoegd_tijd
  5. ORDER BY COUNT( g.id ) DESC
  6. LIMIT 5


Om alles in 1 keer op te halen heb ik dit geprobeerd:
  1. SELECT t.id, t.titel, t.toegevoegd_datum, t.toegevoegd_tijd, COUNT( s.id ) , COUNT( g.id )
  2. FROM tekstjes AS t, tekst_gelezen AS g, tekst_stemmen AS s
  3. WHERE t.id = g.tekst_id
  4. AND t.id = s.tekst_id
  5. GROUP BY t.id, t.titel, t.toegevoegd_datum, t.toegevoegd_tijd
  6. ORDER BY (COUNT( s.id ) / COUNT( g.id )) DESC
  7. LIMIT 5

Maar hier geeft hij plots bij elk count-veld een 2, wat dus niet klopt.

Weet iemand hier wat er fout is?

Alvast bedankt.

2 antwoorden

Gesponsorde links
Offline Martijn - 08/06/2008 11:41
Avatar van Martijn Crew PHP je kunt doen na je group regel

HAVING COUNT( s.id ) / COUNT( g.id ) AS gedeeld
ORDER BY gedeeld

weet niet of having dit ook kan, maar denk het wel
Offline MothZone - 08/06/2008 12:06
Avatar van MothZone PHP ver gevorderde Nee, het probleem is dat hij verkeerde resultaten toont, dus de verbinding met de andere tabellen is ergens verkeerd.
Ik zie alleen niet wat er dan fout is.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.157s