2017-01-31 5 views
-2

Я хочу рассчитать месячные мудрые данные со счетом. Поэтому у меня есть начало и конец. Между ними мне нужно показать месяц и счет. Пример: У меня есть таблица с информацией о зарплате.Получить имя месяца и счетчик (*) в mysql

Salary createddate 
-------------------------------- 
    10,000 1/jan/2017 
    10,000 1/jan/2017 
    10,000 1/jan/2017 
    10,000 1/jan/2017 
    10,000 1/jan/2017 

    10,000 1/dec/2016 
    10,000 1/dec/2016 
    10,000 1/dec/2016 
    10,000 1/dec/2016 

    10,000 1/nov/2016 
    10,000 1/nov/2016 
    10,000 1/nov/2016 
    10,000 1/nov/2016 

Поэтому мне нужно, чтобы отобразить

Month  count 
---------------------------- 
    January 5 
    Dec  4 
    Nov  4 

У меня есть startdate is 1/nov/2016 and end date 1/jan/2017. Я хочу найти месяц и счет (зарплату) между этими двумя датами. начало и конец дата может быть в прошлом году/4 лет задний тоже.

If i dont have data for mentioned dates, i should get month name with count as 0. 

Пожалуйста, помогите мне найти этот

+0

- это поле создания фактическое поле даты или символ? – SaggingRufus

+0

дата создания даты. но я прохожу дату начала и окончания, как varchar – IMRUP

+1

Сгруппированы несколько лет вместе? Или сохранить их отдельно, как jan 2015, jan 2016? – GurV

ответ

1

вы можете попробовать этот запрос?

select MONTHNAME(str_to_date(createddate,"%d/%b/%Y")),count(*) as count 
     from tableName 
where str_to_date(createddate,"%d/%b/%Y") between '2016-11-01' and '2017/01/01' 
     group by MONTHNAME(str_to_date(createddate,"%d/%b/%Y")), 
    year(str_to_date(createddate,"%d/%b/%Y")) 
+0

вы можете попробовать? –

+0

OP хочет запрос, который будет искать между двумя датами и выдавать результат, указанный в его примере. Поскольку в этом нет предложения where, нет способа получить диапазон дат – SaggingRufus

+0

@SaggingRufus, он может добавить, где условие в этом запросе. Мне не нужно добавлять его. просто позвольте ему попробовать этот вопрос –

Смежные вопросы