У меня есть таблица, которая выглядит примерно так:SQL SUM() 3 лучших значения таблицы
имя_таблица: пользователь
name points id_subligue ...
------------------------------------------
user1 100 1
user2 200 1
user3 300 1
user4 400 1
, когда я это сделать:
SELECT user.name, user.points AS TOTAL
FROM user
WHERE user.id_subligue='1'
ORDER BY user.points DESC
LIMIT 3
Выход:
name TOTAL
------------------
user4 400
user3 300
user2 200
Если я делаю t его:
SELECT SUM(user.points) AS TOTAL
FROM user
WHERE user.id_subligue='1'
ORDER BY user.points DESC
LIMIT 3
Выход:
TOTAL
-----
1000
Я желаю сумму 3 лучших пользователей по точкам! а не сумма всех пользователей с id_subligue = '1'. Итак, TOTAL = 900 Любые идеи? Что я делаю неправильно? o как я могу это сделать? Thanx!
Заголовок
Спасибо, очень! работает отлично! – agustincola
Мое удовольствие :-) –
Жаль еще! В пользователе таблицы у меня есть другое «имя» в разных «id_subligue», поэтому я бы хотел, чтобы для каждой сублигии ... не просто user.id_subligue = '1'. Я надеюсь, что это ясно, что я хочу, и вы можете мне помочь. Заранее спасибо! Например: id_subligue 1 = 900; id_subligue 2 = xxx ... – agustincola