我遇到了我必须做的选择,我有一个数据库,其中一个新的索赔文件在名为“claim”的表中注册,在此表中每个文件都注册如下:
对不起,我已经在打印屏幕上方附上了表格的外观,我不知道为什么在发布时会有如下声明。
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天。
提前感谢您的帮助。
答案 0 :(得分:0)
您需要分组:
select OpeningDate,count(1) from your_table group by OpeningDate
对于前5名,您需要order by
和limit
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