Flere betingelser i samme Query

Tags:    databaser

Hej.
Jeg tænkte på at hvis man nu skal have flere count() med forskellige betingelser, om det så er muligt at gøre det i samme query.

f.eks. SELECT count(*) AS cCount1 FROM table Where *** AND count(*) AS cCount2 FROM table Where ***



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Det burde kun skrives sådan her,har testet noget der lignte det på en af mine tabeller.

SELECT SUM(IF(cLoggedOn='true',1,0)) AS cLogOn,COUNT( * ) AS cOnline FROM ".$main_db.".onlineusers



Indlæg senest redigeret d. 29.10.2007 15:28 af Bruger #5620
"SELECT count(A) as Count1, count(B) as Count2 FROM tabel WHERE ..."

Er det sådan du mener? Hvis ikke, er det så fra forskellige tabeller du vil have et antal fra?



Ville nok skrive det således her:
SELECT count(*) AS cCount1 FROM table Where ***
UNION
SELECT count(*) AS cCount2 FROM table Where ***



Ja det er den metode du kom med Nørden som jeg skal bruge.
Jeg skal nemlig have forskellige betingelser for de forskellige counts. Men desværre virker det ikke helt.

"SELECT count(*) AS cOnline FROM ".$main_db.".onlineusers UNION SELECT count(*) AS cLoggedOn FROM ".$main_db.".onlineusers Where cLoggedOn='true'"

Jeg får ingen fejl, men cLoggedOn får værdien "null" og num_rows ligger kun på 1, og ikke 2 ???



Ja se det virker jo fuldstændigt som det skal.
Det var rart, takker for det :D

Det er træls at skulle lave to queries, når man ved at man kan lægge det i en på en eller anden måde...



t