Ik heb 1 query :

SELECT
memberTable.*,
titleTable.`memberId`,
SUM(voteTable.`score`) AS totalScore,
COUNT(1) AS totalTitles
FROM
`TTPMember` as memberTable,
`TTPVote` as voteTable,
`TTPTitle` as titleTable
WHERE
titleTable.`id`=voteTable.`titleId`
AND
memberTable.`id`=titleTable.`memberId`
GROUP BY
titleTable.`memberId`
ORDER BY
totalTitles + totalScore
LIMIT
5

In deze query zitten 2 aliasses (totalTitles en totalScore)
In de ORDER BY wil ik deze gebruiken.

Nu is het probleem dat totalTitles WEL goed gevonden wordt (en goed gebruikt), maar totalScore bestaat niet (1054 -> Unknown column 'totalTitles' in 'order clause')

Hoe komt het dat de ene alias wel werkt en de andere niet?
ORDER BY
totalTitles + totalScore

Plus (+)?

ORDER BY
totalTitles, totalScore
LIMIT
uuhm nee, ik wil dat ie totalTitles optelt bij totalScore en de uitkomst daarvan als ORDER gebruikt (dus degene met hoogste totale score bovenaan komt)
Zet er eens haakjes omheen?


ORDER BY
(totalTitles + totalScore)
tried, failed.
Wat ik ontdekt heb is :
ORDER BY totalTitles (werkt)
ORDER BY totalScore (werkt)

Het zit hem dus echt in het optellen van de order by
bedankt voor het meedenken mensen, ik heb het opgelost door de bereking in de SELECT uit te voeren ipv in de ORDER BY

SELECT
memberTable.*,
titleTable.`memberId`,
SUM(voteTable.`score`) AS totalScore,
COUNT(1) AS totalTitles,
SUM(voteTable.`score`) + COUNT(1) AS totalPoints
FROM
`TTPMember` as memberTable,
`TTPVote` as voteTable,
`TTPTitle` as titleTable
WHERE
titleTable.`id`=voteTable.`titleId`
AND
memberTable.`id`=titleTable.`memberId`
GROUP BY
titleTable.`memberId`
ORDER BY
totalPoints
LIMIT
5
sloop nog even die enorm lelijke vuile vieze gore kutdbackticks uit je query
backticks is voor veiligheid gast, stel je hebt een kolom genaamd 'select' of 'where' of 'from', dan heb je een probleem als je geen backticks gebruikt
'gast', als je een kolom genaamt select where of from hebt in je tabel heb je gewoon een enorm slecht opgemaakte tabel.

voor jou veiligheid, haal die backticks weg
En 'gast ' lees even die tutorail over het juiste gerbuik van GROUP BY
En 'gast ' doe het nou maar elke keer is dit het probleem als het over query gaat

Reageren