相关疑难解决方法(0)

MySQL如何填写范围内的缺失日期?

我有一个包含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天每一分.我希望我现在更清楚了.

mysql sql gaps-and-islands

59
推荐指数
4
解决办法
4万
查看次数

如何在mysql表中查找缺失的行(日期)?

我尝试了几个这样的主题:如何使用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)

所以我想在这个缺失行表中向用户显示缺少日期的下拉列表,这样他就可以选择他想要提交帖子的日期.

我怎样才能做到这一点?谢谢.

mysql gaps-and-islands

3
推荐指数
1
解决办法
4591
查看次数

标签 统计

gaps-and-islands ×2

mysql ×2

sql ×1