Как сгруппировать поле даты, чтобы получать квартальные результаты в MySQL?

У меня есть таблица заданий, в которой хранятся задания, а ведущей датой является поле для ввода задания.

В результате я хочу получить количество рабочих мест, которые я имею в каждом квартале. Мой запрос подсчитывает количество заданий на каждую дату в поле ведущей даты.

Вот запрос

select count(jobid) as jobcount, leaddate
from jobs
where contactid='19249'
group by leaddate
12 голосов | спросил abnab 20 Mayam11 2011, 08:39:43

4 ответа


0

Я думаю, что это должно сделать работу:

SELECT YEAR(leaddate) AS year, QUARTER(leaddate) AS quarter, COUNT(jobid) AS jobcount
  FROM jobs
 WHERE contactid = '19249'
 GROUP BY YEAR(leaddate), QUARTER(leaddate)
 ORDER BY YEAR(leaddate), QUARTER(leaddate)
ответил Jonathan Leffler 20 Mayam11 2011, 09:01:04
0

Предположим, у вас есть действительное поле даты или даты и времени:

select count(jobid) as jobcount, YEAR(leaddate) yr, QUARTER(leaddate) qt
from jobs
where contactid='19249'
group by yr, qt
ответил zerkms 20 Mayam11 2011, 08:45:39
0

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

select count(jobid) as jobcount, QUARTER(leaddate) as qt, YEAR(leaddate) as year
from jobs
where contactid='19249'
group by year,qt
ответил Headshota 20 Mayam11 2011, 08:47:06
0

Я обычно объединяю квартал и год в одно поле ГОД-КВАРТАЛ

select jobid, count(jobid) as jobcount, 
CONCAT( YEAR(leaddate),'-',QUARTER(leaddate) ) as year_qtr
from jobs
where contactid='19249'
group by year_qtr

ВОЗВРАЩАЕТ данные вроде:

19249, 324, 2011-3
19249,   4, 2011-2
19249,  34, 2011-1
ответил Marc Maxmeister 5 WedEurope/Moscow2012-12-05T01:50:22+04:00Europe/Moscow12bEurope/MoscowWed, 05 Dec 2012 01:50:22 +0400 2012, 01:50:22

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132