最佳答案
我有一个有两列的表格,日期和分数。它最多有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天每天一个。我希望我现在说得更清楚了。