Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [php/sql] Meerdere counts in 1 query? (https://forum.scholieren.com/showthread.php?t=328121)

Triloxigen 02-01-2003 15:20

[php/sql] Meerdere counts in 1 query?
 
Kun je in 1 mysql query verschillende dingen laten tellen?
En hoe?

-=Odysseus=- 02-01-2003 15:33

kan dat niet gewoon als:
PHP-code:

Count(*) As blubCount(blub) As blub2 


eddie 02-01-2003 15:43

Als je nou even zegt wat je wilt tellen...

Triloxigen 02-01-2003 15:44

Citaat:

-=Odysseus=- schreef:
kan dat niet gewoon als:
PHP-code:

Count(*) As blubCount(blub) As blub2 


PHP-code:

$test mysql_fetch_array(mysql_query("Count(*) As messages WHERE locked = '1', Count(*) As messages WHERE AddSig = '1'")); 

Om even voorbeeld te nemen,
dit werkt dus niet..
hoe moet het dan wel :D

En hoe gebruik ik het dan als variable?

(heb hier nog niet mee gewerkt, vandaar)

Harrie 02-01-2003 16:53

Citaat:

McLaren schreef:
PHP-code:

$test mysql_fetch_array(mysql_query("Count(*) As messages WHERE locked = '1', Count(*) As messages WHERE AddSig = '1'")); 

Om even voorbeeld te nemen,
dit werkt dus niet..
hoe moet het dan wel :D

En hoe gebruik ik het dan als variable?

(heb hier nog niet mee gewerkt, vandaar)

je moet eerst SELECT ervoor jagen.

ik weet het niet meer zeker (alweer een tijdje terug dat ik ermee gewerkt heb:

select count(blabla), count(oehoeh) from blabla group by haha, hoehoe";

eddie 02-01-2003 18:27

Citaat:

McLaren schreef:
Kun je in 1 mysql query verschillende dingen laten tellen?
En hoe?

waarom wil je dat eigenlijk?

Triloxigen 02-01-2003 20:30

Citaat:

eddie schreef:
waarom wil je dat eigenlijk?
Om minder queries te krijgen :)

Triloxigen 02-01-2003 20:34

PHP-code:

$test mysql_fetch_array(mysql_query("SELECT COUNT(*) AS count FROM messages WHERE locked = '1'")); 

Dat is 1tje, dat werkt..
nu nog ene 2e krijgen :/

eddie 02-01-2003 20:54

Citaat:

McLaren schreef:
Om minder queries te krijgen :)
Dat lijkt mij niet kunnen.

Je kunt wel een count() op 2 kolommen doen, maar dan moeten ze in dezelfde group by of aan de where voldoen. Maar dat is onzin, want dan zijn die 2 count()'s hetzelfde.

Je kunt misschien wel met subselects werken, om zo één select statement naar de server te sturen. Maar subselects zijn langzamere dan 2 keer een query versturen.

Triloxigen 02-01-2003 21:02

Citaat:

eddie schreef:
Dat lijkt mij niet kunnen.

Je kunt wel een count() op 2 kolommen doen, maar dan moeten ze in dezelfde group by of aan de where voldoen. Maar dat is onzin, want dan zijn die 2 count()'s hetzelfde.

Je kunt misschien wel met subselects werken, om zo één select statement naar de server te sturen. Maar subselects zijn langzamere dan 2 keer een query versturen.

Dus conclusie: het kan niet?
:/

eddie 02-01-2003 21:10

Citaat:

McLaren schreef:
Dus conclusie: het kan niet?
:/

Het KAN wel, maar met subselects:

Code:

select a.aantal1, b.aantal2
from (
  select count(*) as aantal1
  from bla
  where x = 1
) as a, (
  select count(*) as aantal2
  from bla
  where y = 8
) as b


Triloxigen 02-01-2003 21:32

Citaat:

eddie schreef:
Het KAN wel, maar met subselects:

Code:

select a.aantal1, b.aantal2
from (
  select count(*) as aantal1
  from bla
  where x = 1
) as a, (
  select count(*) as aantal2
  from bla
  where y = 8
) as b


Jah, maar als dat trager is dan hebben we er niks aan
(heb ik er niks aan)

eddie 03-01-2003 08:22

Citaat:

McLaren schreef:
Jah, maar als dat trager is dan hebben we er niks aan
(heb ik er niks aan)

Precies. Dus gewoon twee query's uitvoeren. :)


Alle tijden zijn GMT +1. Het is nu 07:29.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.