login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

2 counts delen (Opgelost)

MothZone – 07/06/2008 22:56 (Laatst gewijzigd op 09/06/2008 23:28)
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
Daisycon - Verdien geld met uw website

Martijn – 08/06/2008 11:41
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

MothZone – 08/06/2008 12:06
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-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.036s