Jag vill plocka ut medelvärdet från ett antal kolumner i tabellen tblPlayerGame. För närvarande så använder jag följande sql-fråga: Vad skulle du fått för medelvärde och vad fick du? De värden som finns i tabellen skulle generera medelvärdet: Ähh.. Kom på att jag kunde använda följande sql-fråga istället.Medelvärde från kolumner?
<code>SELECT
(SELECT AVG(tblPlayerGame.pgRanking) FROM tblPlayerGame WHERE (pID = 8)) AS SR1,
(SELECT AVG(tblPlayerGame.pgRanking) FROM tblPlayerGame WHERE (pID = 7)) AS SR2,
(SELECT AVG(tblPlayerGame.pgRanking) FROM tblPlayerGame WHERE (pID = 6)) AS SR3,
(SELECT AVG(tblPlayerGame.pgRanking) FROM tblPlayerGame WHERE (pID = 5)) AS SR4,
(SELECT AVG(tblPlayerGame.pgRanking) FROM tblPlayerGame WHERE (pID = 4)) AS SR5,
(SELECT AVG(tblPlayerGame.pgRanking) FROM tblPlayerGame WHERE (pID = 3)) AS SR6,
(SELECT AVG(tblPlayerGame.pgRanking) FROM tblPlayerGame WHERE (pID = 2)) AS SR7,
(SELECT AVG(tblPlayerGame.pgRanking) FROM tblPlayerGame WHERE (pID = 1)) AS SR8
FROM tblPlayerGame</code>
Saken är den att den plockar ut helt fel medelvärde. Just nu finns det nämligen bara ett värde i kolumnen pgRanking för varje pID (då borde jag alltså få ut det faktiska värdet tycker jag).Sv: Medelvärde från kolumner?
Det handlar kanske om felaktig datatyp i fältet eller att funktionen
AVG inte riktigt klarar medelvärde på en sådan datatyp.Sv: Medelvärde från kolumner?
pID = 1 : 4
pID = 1 : 3
pID = 1 : 2
pID = 1 : 1
pID = 1 : -1
pID = 1 : -1
pID = 1 : -1
pID = 1 : -1Sv: Medelvärde från kolumner?
<code>SELECT AVG(pgRanking) FROM tblPlayerGame WHERE pID = 8 GROUP BY pID ORDER BY pID</code>
Onödigt att göra allting jobbigare än vad det är. ;-)