我有一个包含2列,日期和分数的表格.它最多有30个条目,过去30天每个条目一个.
date score
-----------------
1.8.2010 19
2.8.2010 21
4.8.2010 14
7.8.2010 10
10.8.2010 14
Run Code Online (Sandbox Code Playgroud)
我的问题是缺少一些日期 - 我想看到:
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
...
Run Code Online (Sandbox Code Playgroud)
我需要从单个查询得到:19,21,9,14,0,0,10,0,0,14 ......这意味着缺少的日期用0填充.
我知道如何获取所有的值,并在服务器端语言迭代日期和错过空白.但这是否可以在mysql中进行,因此我按日期对结果进行排序并获取缺失的部分.
编辑:在此表中有另一列名为UserID,因此我有30.000个用户,其中一些在此表中有分数.如果日期<30天以前,我每天都会删除日期,因为我需要每个用户最近30天的分数.原因是我正在制作过去30天内用户活动的图表,并绘制图表我需要用逗号分隔的30个值.所以我可以在查询中告诉我USERID = 10203活动,查询会得到30分,过去30天每一分.我希望我现在更清楚了.
我尝试了几个这样的主题:如何使用SQL查找丢失的数据行?在这里,但我不能让它在我的情况下工作.
我有一个以postsMySQL 命名的表,我每天都会在其中保存用户日记.有时用户忘记写一天的帖子,我想让他们以后再提交.所以数据库结构如下:
date userid
2011-10-01 1
2011-10-02 1
(missing)
2011-10-04 1
2011-10-05 1
(missing)
2011-10-07 1
Run Code Online (Sandbox Code Playgroud)
所以我想在这个缺失行表中向用户显示缺少日期的下拉列表,这样他就可以选择他想要提交帖子的日期.
我怎样才能做到这一点?谢谢.