日付とスコアの 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
私の問題は、いくつかの日付が欠落していることです-私は見たいです:
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
...
1 つのクエリから必要なのは、19,21,9,14,0,0,10,0,0,14 を取得することです。つまり、欠落している日付は 0 で埋められます。
私はすべての値を取得する方法を知っており、サーバー側の言語で日付を繰り返し、空白を逃しています。しかし、これはmysqlで実行できるので、結果を日付でソートして不足している部分を取得します。
編集: このテーブルには UserID という名前の別の列があるため、30.000 人のユーザーがいて、そのうちのいくつかはこのテーブルにスコアがあります。各ユーザーの過去 30 日間のスコアが必要なため、日付が 30 日未満の場合は毎日日付を削除します。その理由は、過去 30 日間のユーザー アクティビティのグラフを作成しており、グラフをプロットするには、30 個の値をコンマで区切る必要があるためです。したがって、クエリで USERID=10203 アクティビティを取得すると、クエリは過去 30 日間のそれぞれについて 1 つずつ、30 のスコアを取得すると言えます。私は今、より明確になったことを願っています。