Hej
Jag har försökt att hitta information online, men eftersom jag inte vet exakt vilka funktioner jag letar efter är det svårt. Jag skulle verkligen uppskatta om ni kunde peka mig i rätt riktning! 1) Jag har ett tabellinlägg för varje röst. Rösten kan vara antingen 1 eller 0. Det finns en kolumn som sparat, med CURDATE(), när rösten lades. Det finns en kolumn qid som beskriver på VAD rösten lades. Jag vill plocka ut de qid som fått flest röster den senaste månaden? 2) Man kan rösta 1 eller 0 där 1 är "ja" och 0 är "nej". Vad man röstat på beskrivs av kolumnen qid. Jag vill plocka ut de jämnaste frågorna, deras qid då, alltså plocka ut de qid som i den här tabellen har jämnast proportion t. ex. 49 % av rösterna är 1 och ORDER BY det. tack! |
det här funkar inte men något typ "SELECT gid, COUNT(röst) AS antal_röster FROM tabell WHERE sparat > DATE_SUB(now(), INTERVAL 1 MONTH) GROUP BY gid ORDER BY antal_röster DESC"
sen kanske något sånt här "SELECT gid, COUNT(röst) AS antal_röster, SUM(röst) AS antal_röster_på_ja, antal_röster_på_ja/antal_röster AS röst_resultat FROM tabell GROUP BY qid ORDER BY röst_resultat" vet dock inte hur du får den att börja på 50 och neråt.. är som märks ingen guru på mysql, men du har kanske något att leta vidare lite på.. |
With rollup ger dig delsummor när du groupar.
|
HAVING, finns det in mySQL? Det använder man för att filtrera bort hela GROUPS när man kör GROUP BY, dvs längst ned i frågan.
|
Citat:
|
Vi får ta det här steg för steg. Först så behöver du få ihop en summering av antalet röster på varje svarsalternativ specificerat per qid:
Kod:
SELECT QID, VOTE, COUNT(VOTE) AS Antal |
Fråga 1 har najk redan svarat på:
Kod:
SELECT qid, COUNT(vote) as votes FROM votestable WHERE votedate >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) GROUP BY qid ORDER BY votes DESC Kod:
SELECT qid, ABS(0.5 - AVG(vote)) AS middiff, 100 * SUM(vote) / COUNT(vote) AS yespercentage FROM test_votes GROUP BY qid ORDER BY middiff ASC |
Det här fungerar grymt bra! Tack allihop som har hjälpt mig! :)
|
Alla tider är GMT +2. Klockan är nu 00:28. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson