Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Настройка статистики MS

werba
сообщение 4.3.2014, 18:59
Сообщение #1
Стаж: 12 лет

Сообщений: 115
Благодарностей: 32
Полезность: 0

Всем привет дошли руки до сайта хочу доделать, так вот поставил статистику запросов и понял что считается только ip, вначале подумал всё правильно но потом додумался что люди бывают играют и с одинаковыми ип, что бы знать точно цыфры уников хотел спросить как сделать что бы учитывался ещё порт.
Вот сам код:
Код
SELECT COUNT(DISTINCT ( ip ) ) AS `ip` FROM `mslog` WHERE timeyear = $m2 and timemonth = $m and timeday = $m3 and timehour = $i and type = 'cs'";
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ZeBot
сообщение 5.3.2014, 1:11
Сообщение #2
Стаж: 12 лет

Сообщений: 5
Благодарностей: 4
Полезность: 0

Структуру mslog покажи для начала.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
werba
сообщение 5.3.2014, 1:24
Сообщение #3
Стаж: 12 лет

Сообщений: 115
Благодарностей: 32
Полезность: 0

Цитата(ZeBot @ 5.3.2014, 1:11) *
Структуру mslog покажи для начала.

Код
CREATE TABLE IF NOT EXISTS `mslog` (
  `timeyear` varchar(255) DEFAULT NULL,
  `timemonth` varchar(255) DEFAULT NULL,
  `timeday` varchar(255) DEFAULT NULL,
  `timehour` varchar(255) DEFAULT NULL,
  `timeminute` varchar(255) DEFAULT NULL,
  `timesecond` varchar(255) DEFAULT NULL,
  `ip` varchar(255) DEFAULT NULL,
  `port` varchar(255) DEFAULT NULL,
  `type` varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


ps.gif ради вашего поста даже комп включил =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ZeBot
сообщение 5.3.2014, 1:39
Сообщение #4
Стаж: 12 лет

Сообщений: 5
Благодарностей: 4
Полезность: 0

Не вариант убрать DISTINCT ?

Структура базы хреновая, так не делают.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
werba
сообщение 5.3.2014, 1:43
Сообщение #5
Стаж: 12 лет

Сообщений: 115
Благодарностей: 32
Полезность: 0

Цитата(ZeBot @ 5.3.2014, 1:39) *
Не вариант убрать DISTINCT ?

Структура базы хреновая, так не делают.


Какая была такую и сделал а убрав DISTINCT он будет считать все запросы а не уникальные и тем самым чистить каждый день бд нет желания за овер дохрена записей в день.

Может вы не поняли чего я хочу я хочу что бы проверялся не только ип на уникальность но ещё и порт то есть если у людей одинаковый ип у них разные порты запроса, вот я хочу что бы считались и эти люди которые с одним ип играют, а не чисто уникальные ип (порылся в логах и понял что статистика обманывает меня на 200 что для меня не приятно и я хочу более чёткую статистику)

Отредактировал: werba, - 5.3.2014, 1:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ZeBot
сообщение 5.3.2014, 1:54
Сообщение #6
Стаж: 12 лет

Сообщений: 5
Благодарностей: 4
Полезность: 0

Ехм, так к чему все это? Что ты хочешь что-бы происходило? Чистить базу там где уникальные айпи?

Вот теперь порт учитывается, но я все равно не понял что надо конкретно:
Код
SELECT COUNT(DISTINCT ( ip ) ) AS `ip`,port
FROM `mslog`
WHERE timeyear = $m2 and timemonth = $m and timeday = $m3 and timehour = $i and type = 'cs'";
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
werba
сообщение 5.3.2014, 1:55
Сообщение #7
Стаж: 12 лет

Сообщений: 115
Благодарностей: 32
Полезность: 0

Цитата(ZeBot @ 5.3.2014, 1:54) *
Ехм, так к чему все это? Что ты хочешь что-бы происходило? Чистить базу там где уникальные айпи?

Вот теперь порт учитывается, но я все равно не понял что надо конкретно:
Код
SELECT COUNT(DISTINCT ( ip ) ) AS `ip`,port
FROM `mslog`
WHERE timeyear = $m2 and timemonth = $m and timeday = $m3 and timehour = $i and type = 'cs'";

Спасибо завтра проверю и отпишусь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ZeBot
сообщение 5.3.2014, 2:32
Сообщение #8
Стаж: 12 лет

Сообщений: 5
Благодарностей: 4
Полезность: 0

Цитата
что бы знать точно цыфры уников хотел спросить как сделать что бы учитывался ещё порт.

Цитата
я хочу что бы считались и эти люди которые с одним ип играют, а не чисто уникальные ип


Хз, вроде так, по другому никак:
Код
SELECT DISTINCT( ip ),port from mslog;


Вот это вроде то что надо тебе:
Код
SELECT Count(DISTINCT( ip ),port) from mslog;


Кстати, более правильная структура базы делается так:
Код
CREATE TABLE IF NOT EXISTS `mslog` (
`id` int(10) unsigned NOT NULL DEFAULT AUTO_INCREMENT,
`ip` int(10) unsigned NOT NULL DEFAULT '0',
`port` smallint(5) unsigned NOT NULL DEFAULT '27015',
`type` tinyint(3) unsigned NOT NULL DEFAULT '0'
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


Отредактировал: ZeBot, - 5.3.2014, 2:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Johnny
сообщение 5.3.2014, 6:40
Сообщение #9


Стаж: 13 лет

Сообщений: 2470
Благодарностей: 1086
Полезность: 515

Цитата(werba @ 4.3.2014, 20:59) *
что бы знать точно цыфры уников хотел спросить как сделать что бы учитывался ещё порт.

Как раз таки пока самый точный метод подсчета только по уникальным IP.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: