MySQL如何在范围内填写缺失日期?
我有一张有两列,日期和分数的桌子。在过去的30天中,它最多有30条目。
date score
-----------------
1.8.2010 19
2.8.2010 21
4.8.2010 14
7.8.2010 10
10.8.2010 14
我的问题是有些日期不见了-我想看看:
date score
-----------------
1.8.2010 19
2.8.2010 21
3.8.2010 0
4.8.2010 14
5.8.2010 0
6.8.2010 0
7.8.2010 10
...
我需要从单个查询中得到:19,21,9,14,0,0,10,0,0,14.这意味着缺少的日期被0填充。
我知道如何获得所有的值,并在服务器端语言中迭代日期和遗漏空白。但是在MySQL中是否可以这样做,这样我就可以按日期对结果进行排序,并得到丢失的部分。
编辑:在这个表中有一个名为userid的列,所以我有30.000个用户,其中一些用户在这个表中得分。我删除每天的日期,如果日期<30天前,因为我需要最后30天的得分为每个用户。原因是我正在绘制一个用户在过去30天的活动的图表,并绘制一个图表,我需要用逗号分隔的30个值。所以我可以在查询中告诉我userid=10203活动,这个查询会给我30分,在过去的30天中每个都有一个。我希望我现在说的更清楚了。
慕慕森
白板的微信
相关分类