如何解决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;
所以我要获取的是所有到期的文档,按月分组。 有什么办法吗?谢谢!
解决方法
考虑到它的结构,我不太了解month
表如何适合图片。但是,您可以使用聚合直接从document
获得所需的结果:
select date_format(expirationDate,'%Y-%m-01') expiration_month,count(*) no_docs
from document
where client = 22
group by expiration_month
这将生成一个由两列组成的结果集:到期月的开始,然后是expirationMonth
属于该月的行数。
MySQL使您可以从日期中提取年月。一种方法是:
select extract(year_month from expiration_date) as yyyymm,count(*)
from document
group by yyyymm;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。