Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Объединение результатов запросов с общим полем date / 6 сообщений из 6, страница 1 из 1
20.07.2014, 13:58:22
    #38701218
undron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение результатов запросов с общим полем date
Приветствую!
есть таблица вида:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
+------+---------------------+---------------+
| id   | date                | wherenoanswer |
+------+---------------------+---------------+
|  318 | 2014-07-11 09:02:15 | 205           |
|  319 | 2014-07-11 09:03:47 | 205           |
|  320 | 2014-07-11 10:12:06 | 205           |
|  321 | 2014-07-11 10:35:07 | 205           |
|  322 | 2014-07-11 10:53:43 | 205           |
|  323 | 2014-07-11 11:01:25 | 505           |
|  324 | 2014-07-11 11:03:39 | 205           |
|  325 | 2014-07-12 11:04:50 | 305           |
|  326 | 2014-07-12 11:14:33 | 305           |
|  327 | 2014-07-13 11:15:11 | 305           |
|  328 | 2014-07-14 11:16:54 | 205           |
|  329 | 2014-07-14 11:21:40 | 205           |
|  330 | 2014-07-14 11:23:01 | 205           |
|  331 | 2014-07-14 11:23:04 | 205           |
|  332 | 2014-07-14 11:32:15 | 205           |
|  333 | 2014-07-14 11:50:06 | 205           |


wherenoanswer может быть: 205,305 или 505
запросом вида:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
SELECT COUNT(`id`) AS c205, DATE_FORMAT(`date`, '%Y.%m.%d %H') AS d205 
FROM abc2user 
WHERE wherenoanswer='205' 
GROUP BY d205 
ORDER BY d205 ASC

+------+---------------+
| c205 | d205          |
+------+---------------+
|    2 | 2014.07.11 09 |
|    3 | 2014.07.11 10 |
|   14 | 2014.07.11 11 |
|    4 | 2014.07.11 12 |
|    6 | 2014.07.11 13 |
|    5 | 2014.07.11 14 |
|   11 | 2014.07.11 15 |
|    3 | 2014.07.11 16 |
|    2 | 2014.07.11 17 |
|    6 | 2014.07.11 18 |
|   11 | 2014.07.11 19 |
|    5 | 2014.07.11 20 |
|    4 | 2014.07.12 09 |
|    4 | 2014.07.12 10 |
|    7 | 2014.07.12 11 |
|   19 | 2014.07.12 12 |
|    9 | 2014.07.12 13 |
|    6 | 2014.07.12 14 |
|    7 | 2014.07.12 16 |
|    9 | 2014.07.12 18 |


Я получаю необходимые мне данные и в нужном виде. Однако мне нужно еще добавить в итоговую таблицу результаты запросов с WHERE wherenoanswer='305' и WHERE wherenoanswer='505' и одинаковым полем date. Чтобы итоговая таблица выглядела вот так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
+------+------+------+---------------+
| c205 | c305 | c505 | date          |
+------+------+------+---------------+
|    2 |      |	   1 | 2014.07.11 10 |
|    3 |    5 |    3 | 2014.07.11 10 |
|   14 |      |    1 | 2014.07.11 11 |
|    4 |    2 |      | 2014.07.11 12 |
|    6 |    1 |    4 | 2014.07.11 13 |
|    5 |    5 |    1 | 2014.07.11 14 |
|   11 |      |      | 2014.07.11 15 |



Много времени потратил, так и не смог сделать. Помогите пожалуйста составить правильный запрос. Всем заранее спасибо за ответы!
...
Рейтинг: 0 / 0
20.07.2014, 14:07:49
    #38701221
Диклевич Александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение результатов запросов с общим полем date
undron,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT 
    SUM(CASE WHEN wherenoanswer='205' THEN 1 ELSE 0 END) AS c205,
    SUM(CASE WHEN wherenoanswer='305' THEN 1 ELSE 0 END) AS c305,
    SUM(CASE WHEN wherenoanswer='505' THEN 1 ELSE 0 END) AS c505, 
    DATE_FORMAT(`date`, '%Y.%m.%d %H') AS day_date
FROM abc2user 
GROUP BY day_date
ORDER BY day_date ASC
...
Рейтинг: 0 / 0
20.07.2014, 14:13:12
    #38701223
undron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение результатов запросов с общим полем date
Wow! Не знал о таком. Спасибо большое!
...
Рейтинг: 0 / 0
21.07.2014, 15:08:33
    #38702048
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение результатов запросов с общим полем date
А CASE тут нафига? лишние вычисления... просто
Код: sql
1.
SUM(wherenoanswer='205') AS c205
...
Рейтинг: 0 / 0
21.07.2014, 17:03:37
    #38702163
Диклевич Александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение результатов запросов с общим полем date
Akina,

так это в MySQL покатит, а в других СУБД?
...
Рейтинг: 0 / 0
21.07.2014, 17:09:28
    #38702173
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение результатов запросов с общим полем date
Диклевич Александр, а форум не по другим субд, а по мусклю. Может, вы ещё предложите вопрошающих о нумерации записей результата отправлять не в здешний фак, а в справку по роу_намбер()?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Объединение результатов запросов с общим полем date / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]