У меня есть таблица с 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
...
Что мне нужно из одного запроса, так это получить: 19,21,9,14,0,0,10,0,0,14 ... Это означает, что недостающие даты заполнены 0.
Я знаю, как получить все значения и на серверном языке повторять даты и пропускать пробелы. Но возможно ли это сделать в mysql, чтобы я отсортировал результат по дате и получил недостающие части.
РЕДАКТИРОВАТЬ: В этой таблице есть еще один столбец с именем UserID, поэтому у меня 30 000 пользователей, и у некоторых из них есть оценка в этой таблице. Я удаляю даты каждый день, если date ‹30 дней назад, потому что мне нужен счет за последние 30 дней для каждого пользователя. Причина в том, что я составляю график активности пользователей за последние 30 дней, и для построения диаграммы мне нужны 30 значений, разделенных запятой. Таким образом, я могу сказать, что в запросе мне дадут активность USERID = 10203, и запрос даст мне 30 баллов, по одной за каждый из последних 30 дней. Надеюсь, теперь я стал более ясным.