按季度查找记录数

时间:2015-04-24 21:38:28

标签: mysql sql database

任何人都可以帮我吗?

我需要创建一个SQL查询。我得到了这个名为" slt_especificidade_caso":

的表

slt_especificidade_caso

我需要创建一个SQL查询,它将这个结构带回一行:

epc_id_pergunta :列

中的值

first_quarter :此表中寄存器的数量(例如,行数)当前日期减去( - )列epc_des_valor中的值小于或等于90天

second_quarter :此表中寄存器的数量(例如,行数)当前日期减去( - )epc_des_valor列中的值大于90且小于或等于180天

third_quarter :此表中寄存器的数量(例如,行数)当前日期减去( - )epc_des_valor列中的值大于180且小于270天。

我很感激一些帮助。提前谢谢!

1 个答案:

答案 0 :(得分: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

相关问题