webForumDet fria alternativet

Omröstning

4 svar · 295 visningar · startad av Skarre

SkarreMedlem sedan apr. 20012 427 inlägg
#1

Efter att ha kollat runt på alla som LarsG tidigare hjälpt med SQL för omröstningar lyckades jag klippa ihop en fråga som hämtar alla svarsalternativ för en given omröstning, samt antalet röster som lagst på respektive sådant. Men eftersom jag ska presentera resultatet i procent undrar jag om man kan få med det totala antalet röster som lagts i omröstningen. Så här ser den ut nu:

SELECT o.title, COUNT(v.optionid) AS votes
FROM polloptions AS o
LEFT OUTER JOIN pollvotes AS v ON o.optionid = v.optionid
WHERE o.pollid = 1 GROUP BY o.title

Hur gör jag då för att få med totalt antal röster? Jag antar att en SUM() ska in någonstans, men jag får det inte att fungera.

LarsGMedlem sedan dec. 200012 464 inlägg
#2
SELECT o.title, (COUNT(v.optionid) + 0.0)/(0.0 + (select count(*)
 from pollvotes
 where optionid in (select optionid
 from polloptions
  where pollid = 1)))*100.0  AS votesPercent
FROM polloptions AS o
LEFT OUTER JOIN pollvotes AS v ON o.optionid = v.optionid
WHERE o.pollid = 1 
GROUP BY o.title
SkarreMedlem sedan apr. 20012 427 inlägg
#3

Det handlar alltså om MySQL. Jag glömmer alltid att berätta vilken typ av databas det gäller. :r Subqueries funkar inte i den version jag tvingas använda.

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Då får du nog göra två frågor, en där du först gör select count och sedan din ursprungliga fråga.

SkarreMedlem sedan apr. 20012 427 inlägg
#5

Ok, tack för hjälpen!

259 ms totalt · 3 externa anrop · v20260731065814-full.30151723
138 ms — hämta forumlista (db)
118 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)