- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Хочу сделать счетчик просмотров за последние 7 дней, например.
Есть таблица в базе stats с полями: id, hits, time
в конце дня крон записывает в поле с id=1 hits за сегодня.
При этом не соображу, как написать запрос к Mysql чтобы в полях таблицы с id от 1 до 7 сохранялись hits за последние 7 дней?
Т.е. нужно как-то сдвиг делать - вчерашние hits (id=2) списывать в позавчера(id=3), сегодня(id=1) списывать во вчера(id=2), а в сегодня (id=1) записывать новое значение (и так начиная с id=7).
Подскажите, пожалуйста, как это красиво реализовать на Mysql?
INSERT INTO table VALUES (id, hits, time) (WEEKDAY(NOW())+1, ....
Немного оффтопа - сам подход к задаче явно неверный.
SELECT COUNT(*) FROM _TABLE_ WHERE `time` BETWEEN `что-то` AND `что-то на неделю больше` - вот и весь счетчик.
Так-то да, но человек не хочет хранить данные, которые не нужны, поэтому и решил таким способом сделать. С другой стороны там этих данных копейки будет, если чисто число просмотров хранить.
Вообще перед вставкой делать апдейт set id=id+1 (ну и удалять лишнюю строку потом), вот только как себя этот апдейт с уникальным значением, при его наличии, поведет - я не знаю.
Спасибо всем за помощь! Все гениальное просто, думаю, это самое идеальное решение: INSERT INTO table VALUES (id, hits, time) (WEEKDAY(NOW())+1, ....