Как вывести последнюю запись и просуммировать значения?

Рейтинг: 0Ответов: 1Опубликовано: 15.02.2011

У меня проблема с SQL запросом к MySQL: мне нужно одно поле просуммировать, а для другого вывести последнее значение. Таблица:

name        date    interested  made_call
andrew.h    2011-02-04      10        10
andrew.h    2011-02-11      20        10
andrew.h    2011-02-13      2         10
sasha.g     2011-02-11      5         20
sasha.g     2011-02-12      5         1

Это что мне нужно в результате:

name        date    interested  made_call
andrew.h    2011-02-13      2         30
sasha.g     2011-02-12      5         21

Попробовал написать такой запрос

SELECT a.name,a.date,a.interested,sum(made_call) as made_call
FROM `resultboard` a 
WHERE a.attendence = 1 
AND NOT EXISTS (select 1 from resultboard where name = a.name
       and id > a.id and attendence = 1)
GROUP BY name

но в результате не суммировалось ничего, а только выводился последний результат:

andrew.h  2011-02-13      2         10
sasha.g    2011-02-12     5         1

Ответы

▲ 2Принят
SELECT a.name, t.date, a.interested, t.calls
FROM resultboard a 
JOIN (SELECT name, MAX(date) AS date, SUM(made_call) AS calls FROM resultboard 
     GROUP BY name) AS t
     ON a.name = t.name AND a.date = t.date

Сам разобрался. Сделал "невозможное" ))