Varför har du med detta två gånger?
(SELECT count(id)
FROM members WHERE gender = 'Male') AS iCountSexM
Databaser & SQLur Databashanterare & SQL
8 svar · 351 visningar · startad av Melea
Hejsan!
Får inte riktigt ihop det med min count, såhär ser det ut nu
SELECT
(SELECT count(id)
FROM members WHERE status = 'Online') AS iCountOnline,
(SELECT count(id)
FROM members) AS iCount,
(SELECT count(id)
FROM members WHERE age >= 20) AS iCountAge20o,
(SELECT count(id)
FROM members WHERE age < 20 AND age > 0) AS iCountAge20u,
(SELECT count(id)
FROM members WHERE race = 'Protoss') AS iCountRaceP,
(SELECT count(id)
FROM members WHERE race = 'Zerg') AS iCountRaceZ,
(SELECT count(id)
FROM members WHERE race = 'Terran') AS iCountRaceT,
(SELECT count(id)
FROM members WHERE race = 'Random') AS iCountRaceR,
(SELECT count(id)
FROM members WHERE bild = 1) AS iCountPic,
(SELECT count(id)
FROM members WHERE gender = 'Male') AS iCountSexM,
(SELECT count(id)
FROM members WHERE gender = 'Female') AS iCountSexF,
(SELECT count(id)
FROM members WHERE gender = 'Male') AS iCountSexM
FROM members
Vad är det jag har missat?
Tack på förhand!
Varför har du med detta två gånger?
(SELECT count(id)
FROM members WHERE gender = 'Male') AS iCountSexM
Helmertz skrev:
Varför har du med detta två gånger?
(SELECT count(id) FROM members WHERE gender = 'Male') AS iCountSexM
Oj, bara en miss, copy/paste. :)
Ändrat i källkoden, funkar dock fortfarande inte.
Melea skrev:
Helmertz skrev:
Varför har du med detta två gånger?
(SELECT count(id) FROM members WHERE gender = 'Male') AS iCountSexMOj, bara en miss, copy/paste. :)
Ändrat i källkoden, funkar dock fortfarande inte.
Tänkte det med, men lika bra att anmärka :)
frågan är för komplicerad för mig men lycka till och hälsa gärna Mazor från Polka :e
Det ser rätt ut. Den sista "from members" behövs inte, det är det enda jag ser som är "fel".
Vad får du för felmeddelande?
Stream
Den sista "from members" behövs inte
Tja, det beror på DBMS. Enligt standard så kan man inte utelämna from men en del DBMS tillåter men andra ger fel i så fall.
SELECT sum(case when status = 'Online' then 1 else 0 end) as iCountOnline,
count(*) AS iCount,
sum(case when age >= 20 ' then 1 else 0 end) as iCountAge20,
sum(case when age between 1 and 19 then 1 else 0 end) iCountAge20o,
...
FROM members
torde vara något effektivare.
Att lagra age är inte så bra, bättre med startdatum.
Tack så väldans mycket LarsG! Rätt som vanligt! :h :)
Helmertz skrev:
frågan är för komplicerad för mig men lycka till och hälsa gärna Mazor från Polka :e
Ska bli! :)
Jajamen! :h