Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выборка статистики за сегодня, за вчера, за месяц и за год
 
 автор: antf   (10.01.2006 в 17:45)   письмо автору
 
 

Здравствуйте. Существует таблица dwnld_counter, которая хранит статистику скачиваний файлов. Она имеет такой дизайн:

CREATE TABLE dwnld_counter (
  'id_cnt'       INT(32) NOT NULL AUTO_INCREMENT,
  'date'          DATETIME,
  'id_file'       INT
  PRIMARY KEY('id_cnt')
);


Подскажите, пожалуйста, примеры запросов, которые помогут мне выбрать статистику за сегодня, за вчера, за месяц и за год. Первую часть запроса я уже знаю:


SELECT COUNT(id_cnt )
FROM dwnld_counter 
WHERE ...



Заранее спасибо за ответ.

   
 
 автор: WebTech   (10.01.2006 в 18:55)   письмо автору
 
   для: antf   (10.01.2006 в 17:45)
 

Если имеется ввиду за сегодня, вчера, месяц и год отсчитывая назад от текущей даты, то будет так.
За прошедшие сутки

select count(id_cnt) from dwnld_counter where to_days(date) between to_days(now())-1 and to_days(now())

За вчера

select count(id_cnt) from dwnld_counter where to_days(date) between to_days(now())-2 and to_days(now())-1

За месяц

select count(id_cnt) from dwnld_counter where to_days(now())-to_days(date)<=30

За год

select count(id_cnt) from dwnld_counter where to_days(now())-to_days(date)<=365

Если год високосный, то 366

   
 
 автор: cheops   (10.01.2006 в 19:47)   письмо автору
 
   для: WebTech   (10.01.2006 в 18:55)
 

Последние два запроса можно переписать как
select count(id_cnt) from dwnld_counter where now() - interval 1 month < date
select count(id_cnt) from dwnld_counter where now() - interval 1 year < date

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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования