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

Группа по месяцам временного штампа unix

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

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)
4b9b3361

Ответ 1

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))

Ответ 2

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

Ответ 3

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

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