[php/mysql]Voorwaarde aan count(*) toevoegen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:40
Ik heb nu de query:
SQL:
1
SELECT COUNT(*) as aantal, userid, browser, id from hits GROUP BY userid, browser


die ervoor zorgt dat in de tabel hits dus allles wordt geteld en gerangschit op browser en op gebruikers id.. De gebruikers staan in een aparte tabel.

Per entry die toegevoegd wordt, word de id van de klant via de counter geregeld.. Dat is dus userid, nu wil ik dus per user uitpluizen hoeveel keer hij een bepaalde browser op bezoek heeft gehad..

Hoe voeg je nu voorwaarden aan count(*) toe?

|>


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:51
Zoek eens in een SQL tutorial / manual op de HAVING clausule...

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:40
whoami schreef op 18 January 2003 @ 11:32:
Zoek eens in een SQL tutorial / manual op de HAVING clausule...
Volgens mij is dit zoals het nu moet:

code:
1
SELECT COUNT(*) as aantal, userid, browser, id from hits GROUP BY  browser HAVING userid=1

[ Voor 38% gewijzigd door simon op 18-01-2003 11:40 ]

|>


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:51
Simon schreef op 18 January 2003 @ 11:39:
[...]


Volgens mij is dit zoals het nu moet:

code:
1
SELECT COUNT(*) as aantal, userid, browser, id from hits GROUP BY  browser HAVING userid=1


Owneen.... Ik had je vraag verkeerd begrepen.
Having, dat doe je als je wilt een criteria leggen op de count.

Als je enkel die van userid 1 wilt, dan moet je het gewoon met een WHERE doen.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:40
whoami schreef op 18 January 2003 @ 11:42:

[...]


Owneen.... Ik had je vraag verkeerd begrepen.
Having, dat doe je als je wilt een criteria leggen op de count.

Als je enkel die van userid 1 wilt, dan moet je het gewoon met een WHERE doen.
dat werkt niet, want als ik WHERE doe is er geen output en having werkt blijkbaar

[ Voor 4% gewijzigd door simon op 18-01-2003 11:44 ]

|>


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:51
code:
1
2
3
4
select count(*) as aantal, userid
from user
where userId = 1
group by userid

werkt niet?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:40
whoami schreef op 18 January 2003 @ 11:45:
code:
1
2
3
4
select count(*) as aantal, userid
from user
where userId = 1
group by userid

werkt niet?
nope, geen output

|>


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:51
Ben je wel zeker dat je de volgorde van de where en de group by goed geschreven hebt? indien niet zou je een syntax error moeten krijgen lijkt me

Ik heb het hier net eens getest (wel niet op MySQL), maar mijn voorbeeld werkt perfect. Die having zal waarschijnlijk ook wel het juiste resultaat geven, maar zal trager zijn.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:40
whoami schreef op 18 January 2003 @ 11:48:
Ben je wel zeker dat je de volgorde van de where en de group by goed geschreven hebt? indien niet zou je een syntax error moeten krijgen lijkt me

Ik heb het hier net eens getest (wel niet op MySQL), maar mijn voorbeeld werkt perfect. Die having zal waarschijnlijk ook wel het juiste resultaat geven, maar zal trager zijn.
Het werkt nu, het is nu dit:
code:
1
2
3
4
select count(*) as aantal, userid, browser
from hits
where userid = 1
group by browser

|>

Pagina: 1