Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Sortowanie po sumie (bądź różnicy)
fastlone
post
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 15
Dołączył: 3.06.2010

Ostrzeżenie: (0%)
-----


Witajcie.

Mam zapytanie SQL w takiej formie
  1. 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
  2. FROM ".TABLE_PREFIX."users a
  3. LEFT JOIN ".TABLE_PREFIX."cod_teams b ON (a.teamid = b.id)
  4. LEFT JOIN ".TABLE_PREFIX."cod_stats c ON (a.uid = c.playerid)
  5. GROUP BY a.uid
  6. 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).

Ten post edytował fastlone 8.12.2014, 17:26:23


--------------------
Nie bój się kliknąć
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 21:44