2015-04-24 4 views
-3

Может ли кто-нибудь помочь мне с этим?Найти количество записей по кварталам

Мне нужно создать SQL-запрос. Я получил эту таблицу под названием «slt_especificidade_caso»:

slt_especificidade_caso

Мне нужно создать запрос SQL, который возвращает меня эту структуру в 1 ряд:

epc_id_pergunta: значение в столбце

first_quarter: Количество регистров (например, количество строк) в этой таблице, где текущая дата меньше (-) значение в столбце epc_des_valor меньше или равно 90 дней

second_quarter: Количество регистров (напр. количество строк) в этой таблице, где текущая дата меньше (-) значение в столбце epc_des_valor больше, чем 90 и меньше или равна 180 дней

third_quarter: Количество регистров (например, число строк) в этом. таблица, где текущая дата меньше (-) значение в столбце epc_des_valor составляет более 180 и менее 270 дней.

Я был бы признателен за помощь. Заранее спасибо!

+0

является 'epc_idn_tipo_especificidade' количество вы хотите записать? – paqogomez

+0

привет @paqogomez, я не понял вопрос, извините. –

+1

Вы говорите ... 'Количество записей в этой таблице. В каком столбце указано количество, которое вы хотите записать? – paqogomez

ответ

2

Заявление об этом должно быть сделано.

select 
    epc_id_pergunta , 
    sum(case when str_to_date(epc_des_valor, '%d/%m/%Y') 
       between DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY) 
       AND CURRENT_DATE() 
      then 1 else 0 end) as first_quarter, 
    sum(case when str_to_date(epc_des_valor, '%d/%m/%Y') 
       between DATE_SUB(CURRENT_DATE(), INTERVAL 180 DAY) 
       AND DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY) 
      then 1 else 0 end) as second_quarter, 
    sum(case when str_to_date(epc_des_valor, '%d/%m/%Y') 
       between DATE_SUB(CURRENT_DATE(), INTERVAL 270 DAY) 
       AND DATE_SUB(CURRENT_DATE(), INTERVAL 181 DAY) 
      then 1 else 0 end) as third_quarter      
from 
    slt_especificidade_caso 
where 
    str_to_date(epc_des_valor, '%d/%m/%Y') 
       between DATE_SUB(CURRENT_DATE(), INTERVAL 270 DAY) 
       AND CURRENT_DATE() 

Заканчивать этот sql fiddle

+1

Я получил эту ошибку при запуске запроса: Код ошибки: 1054. Неизвестный столбец «теперь» в списке полей. Вы знаете, что я могу сделать неправильно? –

+2

@ArthurMastropietro, моя ошибка, 'current_date' является синтаксисом для mysql. – paqogomez

+0

@ArthurMastropietro - это даты, с которыми вы будете иметь дело в будущем или в прошлом? –

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