Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Count группирует одинаковые значения. Как избежать? / 5 сообщений из 5, страница 1 из 1
19.06.2016, 07:20
    #39258370
alfakuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Count группирует одинаковые значения. Как избежать?
Есть такой запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT COUNT(*) FROM `user` WHERE uid=6
UNION
SELECT COUNT(*) FROM `user` WHERE uid=6 AND status=0
UNION
SELECT COUNT(*) FROM `user` WHERE uid=6 AND status=1
UNION
SELECT COUNT(*) FROM `user` WHERE uid=6 AND status=2
UNION
SELECT COUNT(*) FROM `user` WHERE uid=6 AND status=3
UNION
SELECT COUNT(*) FROM `user` WHERE uid=6 AND status=4
UNION
SELECT COUNT(*) FROM `user` WHERE uid=6 AND status=5



Результат выдаёт 5 элементов вместо 7. Понятно почему. Результатов со значением 1 и 2 по 2 штуки должно быть, но они сгруппированы в один. Как предотвратить это?


Ну и второй вопрос - запрос вообще правильно составлен или для этого случая его можно как-то укоротить, оптимизировать?
...
Рейтинг: 0 / 0
19.06.2016, 07:57
    #39258371
alfakuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Count группирует одинаковые значения. Как избежать?
Группировку результатов удалось побороть добавив SELECT `status`, COUNT(*)... в каждый запрос, но вопрос об оптимальности запроса остаётся открытым.
...
Рейтинг: 0 / 0
19.06.2016, 11:33
    #39258412
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Count группирует одинаковые значения. Как избежать?
alfakuk,

Это не Count группирует, а UNION.
Используйте UNION ALL.

А вообще такие запросы пишутся как-то так:
Код: sql
1.
2.
3.
4.
SELECT status, COUNT(*)
FROM `user`
WHERE uid=6
GROUP BY status
...
Рейтинг: 0 / 0
19.06.2016, 11:35
    #39258413
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Count группирует одинаковые значения. Как избежать?
alfakuk,
UNION ALL
...
Рейтинг: 0 / 0
19.06.2016, 11:37
    #39258414
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Count группирует одинаковые значения. Как избежать?
alfakuk,

union ALL
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Count группирует одинаковые значения. Как избежать? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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