MySQL, используя подзапрос для получения рейтинга - PullRequest
0 голосов
/ 07 октября 2010

Я пытаюсь выяснить, где именно этот игрок занимает место среди стреляющих охранников в НБА.Я использую этот пост на stackoverflow для руководства.

Я получаю сообщение об ошибке "Неправильное использование групповой функции".

  SELECT
  first,
  last,
  team,
  pos,
  SUM(points) AS scoresum,
  ROUND(AVG(points), 2) AS avgpoints,
  (SELECT
     COUNT(*)
   FROM nbaboxscore AS bpnb
   WHERE (bpnb.first, bpnb.last, SUM(bpnb.points)) >= (bpn.first, bpn.last, SUM(bpn.points))) AS rank
FROM nbaboxscore AS bpn
WHERE bpn.pos = 'SG'
    AND bpn.date >= '2009-10-01'
    AND FIRST = 'Joe'
    AND LAST = 'Johnson'
GROUP BY bpn.first, bpn.last, bpn.team
ORDER BY scoresum DESC

Я не совсем уверен, возможно ли это таким образом?

1 Ответ

1 голос
/ 08 октября 2010

Ваш подзапрос неправильный, вы не можете использовать SUM без GROUP BY и WHERE, поэтому вы должны использовать HAVING.Я позволю вам проверить: http://dev.mysql.com/doc/refman/5.0/fr/select.html

...