Как добавить отдельные переменные из массива php вместе

#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