sql получить количество месяцев - PullRequest
1 голос
/ 21 марта 2012

В SQLExpress у меня есть таблица, которая содержит столбец datetime. Он отформатирован так:

19.03.2012 00:00:00

Теперь есть много дат, и я хочу построить WPFChart, который показывает мне, сколько дат в марте, апреле и так далее. Как я могу управлять этим в sql, что я получаю счет за один месяц?

Ответы [ 3 ]

4 голосов
/ 21 марта 2012

Использование:

select month(dateColumn), count(*)
from table
group by month(dateColumn) 
2 голосов
/ 21 марта 2012

Вы можете извлечь месяц даты с помощью Month () funciton. чем с простой группой, вы получите счет за каждый месяц

1 голос
/ 21 марта 2012

Чтобы получить только один месяц ...

SELECT
  COUNT(*),
  SUM(valueColumn)
FROM
  yourTable
WHERE
      dateColumn >= '20120101'
  AND dateColumn <  '20120201'

Чтобы получить несколько месяцев, но сгруппировать по месяцам (и с учетом года).

SELECT
  DATEADD(MONTH, DATEDIFF(MONTH, 0, dateColumn), 0),
  COUNT(*),
  SUM(valueColumn)
FROM
  yourTable
WHERE
      dateColumn >= '20110301'
  AND dateColumn <  '20120301'
GROUP BY
  DATEADD(MONTH, DATEDIFF(MONTH, 0, dateColumn), 0)
...