Группировать по месяцам в поле даты (строка)

Таблица со строковым полем, где хранится дата (не предлагайте мне изменить тип поля. Это вызовет опасность).

+--+----------+------+
|id|date      |amount|
+--+----------+------+
|1 |23-03-2014|5000  |
+--+----------+------+
|2 |25-03-2014|3000  |
+--+----------+------+
|3 |21-04-2014|3000  |
+--+----------+------+
|4 |25-04-2014|4000  |
+--+----------+------+

Я хочу написать модельную функцию, которая будет возвращать сумму суммы, сгруппированной по месяцам из таблицы. Как я должен это делать? Это покажет вывод как

03 - 8000
04 - 7000

0

Решение

SELECT MONTH(date_field) as mon, SUM(amount) as total FROM table_name GROUP BY MONTH(date_field);

Обновить:

SELECT SUBSTR(date_field,6,2) as mon, SUM(amount) as total FROM table_name GROUP BY mon;
1

Другие решения

Вы можете попробовать следующий запрос

SELECT SUM(amount) FROM table GROUP BY MONTH(date)
0

Пытаться МЕСЯЦ()

SELECT MONTH(date),SUM(amount) FROM table GROUP BY MONTH(date)
0