#php #mysql #sql
#php #mysql #sql
Вопрос:
У меня есть таблица mysql, которая выглядит следующим образом:
id - year - value
-----------------
1 - 2004 - 10
2 - 2005 - 15
3 - 2006 - 8
4 - 2006 - 14
5 - 2007 - 20
6 - 2008 - 25
Мне нужно иметь возможность извлекать этот массив из mysql и суммировать два значения 2006 вместе. Как мне это сделать?
Ответ №1:
Вы специально хотите, чтобы PHP это сделал?
MySQL может выполнить математику:
SELECT year, SUM(value) as value FROM table GROUP BY year
Если вы действительно хотите сделать это на php (этот скрипт предназначен для всех лет):
$rs = mysql_query("SELECT * FROM table");
while ($row = mysql_fetch_assoc($rs)){
$value[$row['year']] = $row['value'];
}
(Обязательная цитата: Остерегайтесь ошибок в приведенном выше коде; я только доказал его правильность, а не пробовал. — Дональд Кнут)
Ответ №2:
$query = "SELECT t.year,
SUM(t.value) AS sumValue
FROM table t
GROUP BY t.year";
$result = mysql_query($query) or die(mysql_error());
// Print out result
while($row = mysql_fetch_array($result))
{
echo $row['year']. " = ". $row['sumValue'];
echo "<br />";
}
Ответ №3:
выберите год, СУММУ (значение) в качестве значения из _your_table group by year
Ответ №4:
для вашего конкретного случая:
$sql = "SELECT year, SUM( value ) AS total FROM table_name WHERE year = 2006";
$query = mysql_query($sql);
$result = mysql_fetch_array($query);
echo $result['total']; // 22