|
|
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
Есть таблица 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 пользователя и т.д. Подскажите пожалуйста как это реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2014, 18:32:54 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
Создать правильные индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2014, 18:56:04 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
AkinaСоздать правильные индексы. Подскажите как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2014, 18:57:33 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
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 Как оптимизировать? Помогите! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2014, 20:45:06 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2014, 07:40:50 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38599908&tid=1835053]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 326ms |

| 0 / 0 |
