Я пытаюсь собрать статистические данные в одном запросе SQL для удобства автоматической сортировки даты в объединении.Это на самом деле только одна таблица, но я хочу подсчитать разные случаи данных.
Таблица, которую я имею, выглядит примерно так:
ID In Wanted
441 2011-03-14 0
439 2011-03-14 1
442 2011-03-14 0
428 2011-03-13 1
431 2011-03-13 1
425 2011-03-11 0
423 2011-03-11 1
420 2011-03-09 1
Я получаю близкий к желаемому результату этот запрос:
SELECT * FROM
(
(SELECT date(In) n, count(date(In)) cntw, null cntl FROM items i WHERE Wanted=1 group by date(In))
union all
(SELECT date(In) n, null cntw, count(date(In)) cntl FROM items i WHERE Wanted=0 group by date(In))
) Serie
Order by n DESC
Но закрытие недостаточно близко: D Результат, который я получаю, таков:
n cntw cntl
2011-03-14 null 2
2011-03-14 1 null
2011-03-13 2 null
2011-03-11 null 1
2011-03-11 1 null
2011-03-09 1 null
Я хочу, чтобы "смешать" результаты в одной строке,по дате:
n cntw cntl
2011-03-14 1 2
2011-03-13 2 null
2011-03-11 1 1
2011-03-09 1 null
Как видите, для каждой даты есть только ОДНА строка.На самом деле, самый совершенный результат - это даже указать отсутствующие даты:
n cntw cntl
2011-03-14 1 2
2011-03-13 2 null
2011-03-12 null null
2011-03-11 1 1
2011-03-10 null null
2011-03-09 1 null
... но я думаю, что это невозможно.
Спасибо!