сколько тренингов запущено в любой данный месяц SQL

#sql #postgresql #datetime #count

#sql #postgresql #дата и время #подсчет

Вопрос:

У меня есть набор данных:

Имя: Лицензии

 id      licence   type      start
 1         1    training  12/08/2017
 2         2    training  17/08/2017
  

Мне нужно подсчитать, сколько лицензий используется за каждый месяц

Я проверил это:

 SELECT COUNT(type)
FROM Licences
GROUP BY MONTH(start)
  

Но я получаю только количество всех записей за весь год, а не каждый месяц

Ответ №1:

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

 SELECT 
date_trunc('month',start) as "month",COUNT(type) as "license_count"
FROM Licences
GROUP BY date_trunc('month',start)
ORDER BY date_trunc('month',start)
  

Ответ №2:

Это работает для меня:

SELECT COUNT([type]) as count_types, MONTH([start]) as type_month FROM Licences GROUP BY MONTH([start])