Требуется SQL: сумма значений за месяц - PullRequest
11 голосов
/ 21 апреля 2011

У меня есть таблица с такими значениями:

count1   count2  count3  month
12        1       4       01/12/2011
6         5       4       23/12/2011
14        6       9       11/06/2011
8         5       4       19/06/2011

Как получить следующие результаты?

count1   count2  count3  month
18        6       8       12
22        11      13      06

Ответы [ 4 ]

19 голосов
/ 21 апреля 2011
SELECT SUM(count1), SUM(count2), SUM(count3), MONTH(month)
  FROM myTable
 GROUP BY MONTH(month)

Поскольку MONTH является ключевым словом SQL Server, вам, возможно, придется экранировать имя столбца month (например, [month]), если столбец даты действительно так называется. (Спасибо Энди за этот комментарий!)

Кроме того, если выбранные данные охватывают более одного года, вам, вероятно, потребуется сгруппировать также по годам:

SELECT SUM(count1), SUM(count2), SUM(count3), MONTH(month)<b>, YEAR(month)</b>
  FROM myTable
 GROUP BY MONTH(month)<b>, YEAR(month)</b>
2 голосов
/ 22 апреля 2011

уменьшить нагрузку на запрос

SELECT SUM(count1), SUM(count2), SUM(count3), substring(month,4,2)   
FROM myTable  
GROUP BY substring(month,4,2)
0 голосов
/ 27 июня 2019
SELECT
SUM(count1) as sum_count1,
to_char(month, 'yyyy-MM') as month
FROM
dataframe 
GROUP BY
month
0 голосов
/ 21 апреля 2011
SELECT SUM(count1), SUM(count2), SUM(count3), MONTH(month)   
FROM Table  
GROUP BY trunc(month,'mm')

Это будет работать в PL / SQL Developer:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...