|
|
|
|
|
для: 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. | |
|
|
|
|
|
|
|
для: cheops
(04.04.2005 в 10:38)
| | Структура: (не полная)
id
uid
balance
Дату лучше наверно тоже сюда добавить, а то она вообще в другой таблице записывается... | |
|
|
|
|
|
|
|
для: evgen_17
(03.04.2005 в 22:42)
| | А где хранится иноформация по дате и вообще какова структура таблицы? | |
|
|
|
|
|
|
|
для: 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 в 21:55)
| | Попробовал вот так...
<?
$balance = mysql_query("SELECT AVG(balance) FROM Balance_User WHERE uid='$uid' AND '$balance_u'=balance");
if ($balance)
{
echo $balance_u;
}
?>
|
Не работает, ничего не выводит... | |
|
|
|
|
|
|
|
для: cheops
(03.04.2005 в 21:32)
| | Ок пробую... | |
|
|
|
|
|
|
|
для: evgen_17
(03.04.2005 в 21:01)
| | Это можно сделать при помощи встроенной функции MySQL- AVG
| |
|
|
|
|
|
|
| Я вот не знаю точно с помощью PHP или MySQL это делается...
Например есть число, которое постоянно изменяется. Нужно вычислить его среднее значение за день, неделю, месяц, год...
Т.е. какое значение оно чаще приниемает за день, неделю, месяц, год соответственно... Как это сделать подскажите пожалуйста? | |
|
|
|
|