Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / как сделать такое? / 14 сообщений из 14, страница 1 из 1
20.08.2004, 16:02
    #32659456
Vovan_Tverskoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
Всем доброго времени суток.
Есть таблица, в ней ведется статистика посещений.
требуется получить сколько было посетителей за месяц, день, год.
Как составить запрос. Помогите.
...
Рейтинг: 0 / 0
21.08.2004, 10:05
    #32659993
Vovan_Tverskoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
Ну, что корифеи?
Задача не по зубам!
...
Рейтинг: 0 / 0
21.08.2004, 14:47
    #32660080
Корифей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
Слишком сложная задача.
Надо будет подумать.
В понедельник приходи.
...
Рейтинг: 0 / 0
21.08.2004, 16:13
    #32660104
Vovan_tverskoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
А на выходные:мозги-на полку,
тушки-на солнце,
в печень- алкоголь!
...
Рейтинг: 0 / 0
21.08.2004, 19:34
    #32660147
как сделать такое?
ага, кроме последнего.
...
Рейтинг: 0 / 0
23.08.2004, 10:58
    #32660774
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
Хоть структуру таблицы статистики показал бы - может - придумали бы чего-нить...
...
Рейтинг: 0 / 0
23.08.2004, 19:11
    #32661965
Vovan_Tverskoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
структура такая
id - prim.key
data - timestamp
ip- varchar
page - varchar

вот структура.
надо посчитать сколько посешений было за сегодня (1 день), месяц, всего.
Но разбивать на 3 запроса не хочется.
Помогите составить запрос, чтобы 1 запросом посчитать все это.
...
Рейтинг: 0 / 0
24.08.2004, 00:09
    #32662095
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
SELECT COUNT(*) FROM your_table WHERE data BETWEEN начало_дня AND конец_дня
где конец_дня = 24*60*60 + начало_дня
Начало дня - временная метка на 00:00:00 указанной даты
...
Рейтинг: 0 / 0
24.08.2004, 08:45
    #32662237
Vovan_Tverskoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
И что я получу?
А мне надо за день, месяц, всего.
Получать это 3 запросами - нехочется.
Как сделать 1. Напрегите мозги "корифеи"!
Или все "это мы не проходили, это нам не по зубам"?
...
Рейтинг: 0 / 0
24.08.2004, 09:54
    #32662339
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
Для 4.х
Первая строчка будет "сегодня", вторая "за месяц", третья "усего".

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT COUNT(*) AS result
FROM table2 
WHERE YEAR(_data) = YEAR(CURRENT_DATE())
AND DAYOFYEAR(_data) = DAYOFYEAR(CURRENT_DATE())
UNION ALL
SELECT COUNT(*) AS result
FROM table2 
WHERE YEAR(_data) = YEAR(CURRENT_DATE())
AND MONTH(_data) = MONTH(CURRENT_DATE())
UNION ALL
SELECT COUNT(*) AS result
FROM table2 

...
Рейтинг: 0 / 0
24.08.2004, 11:03
    #32662504
Vovan_Tverskoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
Для 4 sql. это работает. Но у хостера стоит 3.*
вот из-за этого и парюсь....
...
Рейтинг: 0 / 0
24.08.2004, 11:36
    #32662617
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
а ты сам не хочешь напрячь что-нибудь? Или считаешь что здесь все у тебя в прислуге работают?
...
Рейтинг: 0 / 0
24.08.2004, 11:42
    #32662637
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
А так?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SELECT
       COUNT(IF(YEAR(_data) = YEAR(CURRENT_DATE())
                AND DAYOFYEAR(_data) = DAYOFYEAR(CURRENT_DATE()),
                ip,
                NULL
                )
            )
       AS today,

       COUNT(IF(YEAR(_data) = YEAR(CURRENT_DATE())
                AND MONTH(_data) = MONTH(CURRENT_DATE()),
                ip,
                NULL
               )
            )
       AS current_month,

       COUNT(*)
       AS total

FROM table2 

...
Рейтинг: 0 / 0
24.08.2004, 12:06
    #32662706
Vovan_Tverskoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такое?
СПАСИБО
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / как сделать такое? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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