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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вычисление среднего значения.

Сообщения:  [1-9] 

 
 автор: cheops   (05.04.2005 в 00:45)   письмо автору
 
   для: evgen_17   (04.04.2005 в 11:06)
 

Пусть дата хранится в поле puttime, тогда запрос на выборку среднего значения может выглядеть следующим образом
SELECT AVG(balance) 
FROM Balance_User 
WHERE uid='$uid' AND
puttime>'2004-05-19 00:00:00' AND
puttime<'2004-06-19 00:00:00'
GROUP BY uid


PS В предыдущем посте я опечатался, следует писать не ORDER BY, а GROUP BY.

   
 
 автор: evgen_17   (04.04.2005 в 11:06)   письмо автору
 
   для: cheops   (04.04.2005 в 10:38)
 

Структура: (не полная)
id
uid
balance
Дату лучше наверно тоже сюда добавить, а то она вообще в другой таблице записывается...

   
 
 автор: cheops   (04.04.2005 в 10:38)   письмо автору
 
   для: evgen_17   (03.04.2005 в 22:42)
 

А где хранится иноформация по дате и вообще какова структура таблицы?

   
 
 автор: evgen_17   (03.04.2005 в 22:42)   письмо автору
 
   для: cheops   (03.04.2005 в 22:18)
 

И как она должна работать? Помоему выводит знчение, которое в данный момент в БД... И как посчитать среднее значение за день неделю... и.т.д....???

   
 
 автор: cheops   (03.04.2005 в 22:18)   письмо автору
 
   для: evgen_17   (03.04.2005 в 22:09)
 

Так а зачем вы жёстко balance фиксируете? Попробуйте лучше сгруппировать по uid:
<?     
  $balance 
mysql_query("SELECT AVG(balance) FROM Balance_User WHERE uid='$uid' ORDER BY uid"); 
   if (
$balance
   { 
      
$res mysql_result($balance,0);
      echo 
$res
   } 
?>

   
 
 автор: evgen_17   (03.04.2005 в 22:09)   письмо автору
 
   для: evgen_17   (03.04.2005 в 21:55)
 

Попробовал вот так...
    
<?    
$balance 
mysql_query("SELECT AVG(balance) FROM Balance_User WHERE uid='$uid' AND '$balance_u'=balance");
            if (
$balance)
                {
                    echo 
$balance_u;
                }
?>

Не работает, ничего не выводит...

   
 
 автор: evgen_17   (03.04.2005 в 21:55)   письмо автору
 
   для: cheops   (03.04.2005 в 21:32)
 

Ок пробую...

   
 
 автор: cheops   (03.04.2005 в 21:32)   письмо автору
 
   для: evgen_17   (03.04.2005 в 21:01)
 

Это можно сделать при помощи встроенной функции MySQL- AVG
SELECT AVG(num) FROM tbl

   
 
 автор: evgen_17   (03.04.2005 в 21:01)   письмо автору
 
 

Я вот не знаю точно с помощью PHP или MySQL это делается...
Например есть число, которое постоянно изменяется. Нужно вычислить его среднее значение за день, неделю, месяц, год...
Т.е. какое значение оно чаще приниемает за день, неделю, месяц, год соответственно... Как это сделать подскажите пожалуйста?

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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