Mam zapytanie SQL w takiej formie
SELECT a.uid, a.username, a.teamid, a.fbname, b.name, count(c.kills) AS matches, SUM(c.kills) AS killscount, SUM(c.deaths) AS deathscount, SUM(c.ismvp) AS mvptimes FROM ".TABLE_PREFIX."users a LEFT JOIN ".TABLE_PREFIX."cod_teams b ON (a.teamid = b.id) LEFT JOIN ".TABLE_PREFIX."cod_stats c ON (a.uid = c.playerid) GROUP BY a.uid ORDER BY (killscount-deathscount) DESC
W tabeli stats znajduje się WIELE rekordów odnoszących się do każdego użytkownika, dlatego je sumuję. Sortowanie chcę wykonać na podstawie różnicy między sumą rekordów z komórki kills i sumą rekordów z komórki deaths.
Otrzymuję błąd:
Kod
1247 - Reference 'killscount' not supported (reference to group function)
Tak, rozumiem co on znaczy, lecz nie mam pojęcia, w jakiej innej formie wykonać to sortowanie, by brać pod uwagę różnicę tych dwóch sum.
@edit
Błąd usunięty, wystarczyło odnieść się do parametru SUM(c.kills) zamiast jego aliasu (analogicznie dla deaths).