Подтвердить что ты не робот

Mysql выберите группу сумм по дате

Быстрый вопрос, у меня есть следующая таблица

+-------------+---------------------+
| total       | o_date              |
+-------------+---------------------+
|          35 | 01-11-2009 19:32:44 | 
|        41.5 | 01-12-2009 22:33:49 | 
|        61.5 | 01-23-2009 22:08:24 | 
|          66 | 02-01-2009 22:33:57 | 
|       22.22 | 02-01-2009 22:37:34 | 
|       29.84 | 04-20-2009 15:23:49 | 
+-------------+---------------------+

Я хотел бы добавить общее количество за каждый месяц и группировать общее количество за месяц. Так, например, Январь- > 138 Фев- > 88,2 Апр- > 29,84

Любые подсказки. Благодаря

4b9b3361

Ответ 1

Это решение даст вам название месяца в виде столбца вашего результирующего набора, а затем общее количество, как требуется.

SELECT MONTHNAME(o_date), SUM(total) 
FROM theTable
GROUP BY YEAR(o_date), MONTH(o_date)

Ответ 2

select year(o_date), month(o_date), sum(total)
from table
group by year(o_date), month(o_date);

Ответ 3

Как я помню из прошлой жизни MySQL, запрос вроде

SELECT LEFT(o_date, 7) month, SUM(total) FROM TABLE group BY month

использует индекс в поле o_date (к сожалению, я не гарантировал бы для YEAR() и MONTH()).

Вам нужно отформатировать поле month, хотя это, скорее всего, не будет проиндексировано ни в одной другой системе баз данных...

Ответ 4

SELECT SUM(total)
FROM table
GROUP BY MONTH(o_date)

Ответ 5

Получите данные месяца и года из базы данных MySQL:

SELECT MONTHNAME(o_date), YEAR(o_date), SUM(total) 
FROM the_table 
GROUP BY YEAR(date), MONTH(date)

Ответ 6

Попробуйте Group BY, например:

select count(A_id) As Tid,Day(CrDate) from Ap Group By Day(CrDate)

Ответ 7

Дай мне работу таким образом:

SELECT MONTHNAME(date), SUM(`in`) as SOMA, date FROM transactions GROUP BY YEAR(date), MONTH(date)

Но мне нужно только показать результат этого года (2014), как я могу это сделать?