powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос
5 сообщений из 5, страница 1 из 1
Помогите составить запрос
    #38599895
YaZvA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица 100 000 записей, список пользователей

Необходимо оптимально быстро получить статистику, а именно количество записей по нескольким параметрам:
Возраст от 0 до 10 лет, от 10 до 20 лет, от 20 до 30 лет, от 30 до 40 лет и т.д., в разрезе статусов и по 300 городам

Должно получиться, что то примерно такое:
Город №1, VIP, от 0 до 10 = 534 пользователя
Город №1, VIP, от 10 до 20 = 34 пользователя
Город №1, VIP, от 20 до 30 = 234 пользователя
Город №1, VIP, от 40 до 50 = 2 пользователя
Город №1, STD, от 0 до 10 = 54 пользователя
Город №1, STD, от 10 до 20 = 344 пользователя
Город №1, STD, от 20 до 30 = 734 пользователя
Город №1, STD, от 40 до 50 = 66 пользователя
Город №2, VIP, от 0 до 10 = 1 пользователя
Город №2, VIP, от 10 до 20 = 4 пользователя
Город №2, VIP, от 20 до 30 = 34 пользователя
Город №2, VIP, от 40 до 50 = 77 пользователя
Город №2, STD, от 0 до 10 = 11 пользователя
Город №2, STD, от 10 до 20 = 23 пользователя
Город №2, STD, от 20 до 30 = 284 пользователя
Город №2, STD, от 40 до 50 = 90 пользователя
и т.д.

Подскажите пожалуйста как это реализовать?
...
Рейтинг: 0 / 0
Помогите составить запрос
    #38599908
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать правильные индексы.
...
Рейтинг: 0 / 0
Помогите составить запрос
    #38599909
YaZvA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaСоздать правильные индексы.

Подскажите как?
...
Рейтинг: 0 / 0
Помогите составить запрос
    #38599961
YaZvA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT m.City,
COUNT(t1.ID) AS cnt1,
COUNT(t2.ID) AS cnt2,
COUNT(t3.ID) AS cnt3,
COUNT(t4.ID) AS cnt4,
COUNT(t5.ID) AS cnt5,
COUNT(t6.ID) AS cnt6,
COUNT(t7.ID) AS cnt7,
COUNT(t8.ID) AS cnt8,
COUNT(t9.ID) AS cnt9,
COUNT(t10.ID) AS cnt10,
COUNT(t11.ID) AS cnt11,
COUNT(t12.ID) AS cnt12,
COUNT(t13.ID) AS cnt13,
COUNT(t14.ID) AS cnt14,
COUNT(t15.ID) AS cnt15
FROM `user` AS m
LEFT JOIN `user` AS t1 ON m.id = t1.id AND m.age = 1
LEFT JOIN `user` AS t2 ON m.id = t2.id AND m.age = 2
LEFT JOIN `user` AS t3 ON m.id = t3.id AND m.age = 3
LEFT JOIN `user` AS t4 ON m.id = t4.id AND m.age = 4
LEFT JOIN `user` AS t5 ON m.id = t5.id AND m.age = 5
LEFT JOIN `user` AS t6 ON m.id = t6.id AND m.age = 6
LEFT JOIN `user` AS t7 ON m.id = t7.id AND m.age = 7
LEFT JOIN `user` AS t8 ON m.id = t8.id AND m.age = 8
LEFT JOIN `user` AS t9 ON m.id = t9.id AND m.age = 9
LEFT JOIN `user` AS t10 ON m.id = t10.id AND m.age = 10
LEFT JOIN `user` AS t11 ON m.id = t11.id AND m.age = 11
LEFT JOIN `user` AS t12 ON m.id = t12.id AND m.age = 12
LEFT JOIN `user` AS t13 ON m.id = t13.id AND m.age = 13
LEFT JOIN `user` AS t14 ON m.id = t14.id AND m.age = 14
LEFT JOIN `user` AS t15 ON m.id = t15.id AND m.age = 15
GROUP BY m.City

Как оптимизировать? Помогите!
...
Рейтинг: 0 / 0
Помогите составить запрос
    #38600059
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
SELECT m.City, 
 ,(select COUNT(*) from `user` where city=m.city and age=1) AS cnt1, 
 ...
 ,(select COUNT(*) from `user` where city=m.city and age=15) AS cnt15, 
FROM `user` AS m
GROUP BY m.City
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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