Для получения суммарных значений определенной колонки в MySQL за каждый месяц за последние три года вам необходимо использовать следующий запрос:
```sql
SELECT SUM(`sum`) total, MONTH(FROM_UNIXTIME(`time`)) `month`, YEAR(FROM_UNIXTIME(`time`)) `year`
FROM balance
WHERE type="0" AND YEAR(FROM_UNIXTIME(`time`)) >= YEAR(CURDATE()) - 2
GROUP BY `year`, `month`
ORDER BY `year` DESC, `month` DESC;
```
Этот запрос вернет вам суммарные значения колонки `sum` по месяцам за последние три года, отсортированные по убыванию года и месяца.
Что касается вашего вопроса о выводе суммы за последние три года с помощью LIMIT 3, то в SQL LIMIT применяется для ограничения числа результатов, а не для задания временного интервала. Для получения суммы за последние три года вам нужно использовать фильтр WHERE, как это было выполнено в примере выше.