按日期计算注册数量

时间:2017-11-08 11:36:44

标签: mysql sql

我遇到了我必须做的选择,我有一个数据库,其中一个新的索赔文件在名为“claim”的表中注册,在此表中每个文件都注册如下:

enter image description here

对不起,我已经在打印屏幕上方附上了表格的外观,我不知道为什么在发布时会有如下声明。

ClaimFileNumber || Vehicle number || ……. || OpeningDate
1                  abc                      20170302
2                  bcd                      20170302
3                  efg                      20170301
4                  hij                      20170301

我需要一个选项,可以帮助我找出从今年开始到现在每天开放的索赔文件数量,每个月的前5天排序,比如5月份我们有:20170506 - 300索赔,20170511 - 295索赔,20170509 - 200索赔等。 或者可以选择哪个可以给我每天开设的索赔数量并订购它们。

问题是存储在表OpeningDate中的日期存储为数字而不是日期,至少对我来说这是一个棘手的部分。

我不能在每年的每一天使用像“开始日期= 20170302的索赔中选择计数(OpeningDate)”这样的选项,因为距离年份开始的时间超过200天。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您需要分组:

select OpeningDate,count(1) from your_table group by OpeningDate

对于前5名,您需要order bylimit

select OpeningDate,count(1) 
from  your_table 
group by OpeningDateorder 
order by 2 desc 
limit 5

答案 1 :(得分:0)

这应该这样做:

SELECT OpeningDate, COUNT(OpeningDate)
FROM claim
WHERE LEFT(OpeningDate, 4) = '2017'
GROUP BY OpeningDate
ORDER BY OpeningDate ASC, COUNT(OpeningDate) DESC