|
|
|
ИЗВОРОТЛИВЫЙ SQL ЗАПРОС !!!
|
|||
|---|---|---|---|
|
#18+
Привет всем. Есть вопрос. Он касается скорости отработки SQL выборки. Пишу обработку для сервера статистики: есть плоская таблица, в которой фиксятся IP адреса посетителей. Необходимо выбрать ВСЕ IP АДРЕСА, КОТОРЫЕ ФИКСИРОВАЛИСЬ В ТАБЛИЦЕ КАЖДЫЙ ДЕНЬ В ТЕЧЕНИИ ПРОШЛЫХ 30 ДНЕЙ. Самый простой вариант ити через временные таблицы, их будет такое же количество, как и дней. Можно построить большую таблицу упорядоченую по дням и много раз Джоинить ее с основной таблицей статистики. Но это грузит!!! А как по хитрому ИЗВЕРНУТЬСЯ, что бы и работало быстро и выглядело красива??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2004, 00:45 |
|
||
|
ИЗВОРОТЛИВЫЙ SQL ЗАПРОС !!!
|
|||
|---|---|---|---|
|
#18+
create table с инсертами лень было привести? А выборку можно так попробовать: SELECT DISTINCT ip, count( DISTINCT date ) AS n1 FROM table WHERE date BETWEEN ... AND ... GROUP BY ip HAVING n1 >= 30 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2004, 13:28 |
|
||
|
ИЗВОРОТЛИВЫЙ SQL ЗАПРОС !!!
|
|||
|---|---|---|---|
|
#18+
А один вопрос в несколько форумов нехорошо писАть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2004, 13:35 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1855065]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 454ms |

| 0 / 0 |
