【问题标题】:SQL Query to select Specific Month in MYSQL Database在 MYSQL 数据库中选择特定月份的 SQL 查询
【发布时间】:2020-11-24 22:08:58
【问题描述】:

我有一个数据库,其中有日期字段 2020-08-03

我正在尝试获取每个月的数据

SELECT COUNT(*) FROM new_caseWHERE sla_client = 'ITA' AND MONTH(sysdate) = MONTH(current_date ()) 
AND YEAR(sysdate) = YEAR(current_date())

以上适用于当前月份和年份,我将使用上面查询 2020 年 1 月、2020 年 2 月等的内容

【问题讨论】:

  • 不确定stackoverflow.com/questions/937652/… 是否相似。
  • 我试图一次只回显一个月,1 月的计数 = 20 来自一个查询,因为有不同的查询具有不同的月份和功能

标签: mysql sql date count


【解决方案1】:

我认为你想要聚合:

select
    date_format(mydate, '%Y-%m') yyyy_mm,
    count(*) cnt
from new_case
where sla_client = 'ITA'
group by date_format(mydate, '%Y-%m')
order by yyyy_mm

这为您每月提供一行,其中包含该月的行数(如果给定月份没有数据,则它不会出现在结果集中)。

如果您需要过滤给定的日期范围,那么我建议使用where 子句直接过滤日期值而不是应用日期函数。假设您想要过去 3 个月和当前月份,那么:

select
    date_format(mydate, '%Y-%m') yyyy_mm,
    count(*) cnt
from new_case
where 
    sla_client = 'ITA'
    and mydate >= date_format(current_date, '%Y-%m-01') - interval 3 month
    and mydate < date_format(current_date, '%Y-%m-01') + interval 1 month
group by date_format(mydate, '%Y-%m')
order by yyyy_mm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 2012-01-18
    • 2015-04-03
    相关资源
    最近更新 更多