首页 > 解决方案 > SQL 查询逐月了解有多少文档已过期

问题描述

我想要实现的是获取每个月有多少文件到期,这样我就可以用这些值创建一个图表(仍然不知道如何)。

idDoc, client, fileName, format, expirationDate
'1', '22', 'SAMPLE_XXX', 'JPG', '2020-05-31'
idType, description
'107001', 'January'
SELECT 
    verticalAxis as Y,
    horizontalAxis as X,
    `values` as vals
FROM
(
   SELECT m.description as horizontalAxis, SUM(d.idDoc) as `values`
   FROM months m,
   document d
   WHERE d.client = 22
) graph
GROUP BY X,Y;

所以我想要得到的是所有过期的文件,按月分组。有什么办法吗?谢谢!

标签: mysqlsqldatetimecountwhere-clause

解决方案


MySQL 允许您从日期中提取年月。所以一种方法是:

select extract(year_month from expiration_date) as yyyymm, count(*)
from document
group by yyyymm;

推荐阅读