2014-01-22 4 views
2

У меня есть пользователи системы на дбСтруктура таблицы базы данных MYSQL для счетчика посетителей

______________________________________________ 
id | Name | so many details | Unique page link 
______________________________________________ 
1 | abc | bla bla   | username 

Таким образом, пользователь а есть страница xyz.com/username

Я хочу показать статистику пользователя Abc о посетителях, т.е. как
1 jan - 400
2 jan - 350
и т. Д. За последние 7 дней
а также месяц мудрый рекорд за последние 12 месяцев
Января - 49009
февраля - 73849

что бы лучший дизайн структуры таблицы базы данных MYSQL.

_________________________________________________________________ 
    user id | day 1 | day2| and so on for 7 day | Jan | Feb | Mar 
    ______________________________________________________________ 
    111111 | 400 | 300 |      | 4250|24534|2435 

Я думал о чем-то подобном - это нормально или другой оптимизированный дизайн есть?

+0

Ваш вопрос содержит недостаточно данных, например, где находятся дни. Пожалуйста, измените. Кроме того, хороший пример ожидаемого результата с реальными числами. –

+0

Я получил решение, указанное ниже. Я думаю, что вопрос довольно ясен и достаточен с моей стороны, а также цифры находятся в том же формате, что и указано выше. Я только хотел узнать лучший формат, который можно использовать для цели подсчета посетителей. –

ответ

1

Вы не хотите делать это по-своему, потому что у вас будет длинный календарь для каждого пользователя.
Он быстро выйдет из-под контроля.

Вы хотели бы иметь таблицу, содержащую:


ID | user_id | time_stamp | info


1 | 324 | 2014/1/22 | 300


2 | 327 | 2014/1/20 | 500


3 | 324 | 2014/1/19 | 900

Чем вам нужна информация.

Select * FROM таблицы, где user_id = 324 возвращение было


ID | user_id | time_stamp | info


1 | 324 | 2014/1/22 | 300


3 | 324 | 2014/1/19 | 900


+0

У меня есть уже запущенный сайт с пользователями с просмотром страниц около 4K-5K. Будет ли этот метод одобрен и настроен для моей цели, поскольку он будет добавлять тысячи строк в день. –

+0

Да, это будет самый простой способ отслеживания. –

1

Я не буду хранить счет в базе данных таким образом.

Я бы сохранил записи с отметками времени в качестве столбца и сворачивал их с помощью GROUP BY каждый раз, когда захочу.

Если это база данных отчетов, я бы рекомендовал заглянуть в схему звезды с временным измерением.

1

aI думаю, что что-то вроде этого было бы проще в управлении.

user_id 
date 
counter 

Для каждого посещения проверьте, существует ли пользователь для этой даты. если это приращение, в противном случае создать запись. Тогда вы можете сделать столько статистики, сколько хотите, используя дату (день, месяц, интервал и т. Д.)

 Смежные вопросы

  • Нет связанных вопросов^_^