MySQL, используя подзапрос для получения рейтинга

0

Я пытаюсь выяснить, где этот конкретный игрок входит в число стреляющих в НБА. Я использую qaru.site/questions/509207/... для руководства.

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

  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

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

Теги:
subquery
mysql-error-1111

1 ответ

1
Лучший ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню