группировать по месяцу поля метки времени unix - PullRequest
13 голосов
/ 14 марта 2012

Я пытаюсь получить мой код для вывода в следующем формате:

january 2012 - 34
february 2012 - 23

, где 34 и 23 будет подсчет общего числа строк, приходящихся на этот месяц, которые имеют id_dealership 7Мне нужно это для вывода всех данных за каждый месяц, когда было выполнено присвоение.

Структура таблицы assignments выглядит следующим образом:

id_dealer (int)
date_assigned (int)

Я пробовал это, но этоне работает вообще:

SELECT MONTH(date_assigned), YEAR(date_assigned), COUNT(*)
FROM assignments
GROUP BY MONTH(date_assigned), YEAR(date_assigned)

Ответы [ 3 ]

48 голосов
/ 14 марта 2012
SELECT 
  MONTH(FROM_UNIXTIME(date_assigned)), 
  YEAR(FROM_UNIXTIME(date_assigned)), 
  COUNT(*)
FROM assignments
GROUP BY 
  MONTH(FROM_UNIXTIME(date_assigned)), 
  YEAR(FROM_UNIXTIME(date_assigned))
1 голос
/ 14 марта 2012

Ваш столбец date_assigned должен иметь тип DATE. AFAIK MONTH работает над столбцами даты и если вы хотите название месяца из столбца DATE, используйте: MONTHNAME(date_assigned)

0 голосов
/ 05 января 2018

попробуйте этот запрос

SELECT 
  MONTH(FROM_UNIXTIME(date_assigned)), 
  YEAR(FROM_UNIXTIME(date_assigned)), 
  COUNT(*)
FROM assignments
GROUP BY 1,2
...