Получить сумму столбца MySQL в PHP

#php #mysql

#php #mysql

Вопрос:

У меня есть столбец в таблице, который я хотел бы сложить и вернуть сумму. У меня есть цикл, но он не работает.

 while ($row = mysql_fetch_assoc($result)){
    $sum  = $row['Value'];
}

echo $sum;
  

Комментарии:

1. вы должны либо заменить это SQL-запросом, который выполняет сумму, либо вы должны инициализировать $sum = 0 перед циклом. Я бы предложил создать SQL-запрос с полем sum().

2. здесь нет ничего плохого, за исключением того, что $ sum может иметь некоторое значение перед циклом, каков ваш запрос?

3. вы должны объявить переменную $sum выше в цикле WHILE равной ‘0’

Ответ №1:

Вы можете полностью обработать это в запросе MySQL:

 SELECT SUM(column_name) FROM table_name;
  

Использование PDO ( mysql_query устарело)

 $stmt = $handler->prepare('SELECT SUM(value) AS value_sum FROM codes');
$stmt->execute();

$row = $stmt->fetch(PDO::FETCH_ASSOC);
$sum = $row['value_sum'];
  

Или с помощью mysqli:

 $result = mysqli_query($conn, 'SELECT SUM(value) AS value_sum FROM codes'); 
$row = mysqli_fetch_assoc($result); 
$sum = $row['value_sum'];
  

Комментарии:

1. вот так $sum= mysql_query("SELECT SUM(Value) FROM Codes"); с помощью этого я получаю Resource id #10 , но не сумму всех значений.

2. Попробуйте $result = mysql_query('SELECT SUM(value) AS value_sum FROM codes'); $row = mysql_fetch_assoc($result); $sum = $row['value_sum']; .

3. Что такое значение и value_sum?

Ответ №2:

 $query = "SELECT * FROM tableName";
$query_run = mysql_query($query);

$qty= 0;
while ($num = mysql_fetch_assoc ($query_run)) {
    $qty  = $num['ColumnName'];
}
echo $qty;
  

Ответ №3:

Попробуйте это:

 $sql = mysql_query("SELECT SUM(Value) as total FROM Codes");
$row = mysql_fetch_array($sql);
$sum = $row['total'];
  

Ответ №4:

Давайте используем следующее изображение в качестве примера для данных в нашей базе данных MySQL:

введите описание изображения здесь

Теперь, как указано в вопросе, нам нужно найти сумму определенного столбца в таблице. Например, давайте добавим все значения столбца «duration_sec» для даты ’09-10-2018′ и только статус ‘выкл.’

Для этого условия следующим будет sql-запрос и код:

 $sql_qry = "SELECT SUM(duration_sec) AS count 
    FROM tbl_npt 
    WHERE date='09-10-2018' AND status='off'";

$duration = $connection->query($sql_qry);
$record = $duration->fetch_array();
$total = $record['count'];

echo $total;
  

Ответ №5:

MySQL 5.6 (LAMP) . column_value — это столбец, который вы хотите сложить. table_name — это таблица.

Способ # 1

 $qry = "SELECT column_value AS count
        FROM table_name ";

$res = $db->query($qry);

$total = 0;
while ($rec = $db->fetchAssoc($res)) {
    $total  = $rec['count'];
}
echo "Total: " . $total . "n";
  

Способ # 2

 $qry = "SELECT SUM(column_value) AS count 
        FROM table_name ";

$res = $db->query($qry);

$total = 0;
$rec = $db->fetchAssoc($res);
$total = $rec['count'];

echo "Total: " . $total . "n";
  

Метод # 3 -SQLi

 $qry = "SELECT SUM(column_value) AS count 
        FROM table_name ";

$res = $conn->query($sql);

$total = 0;
$rec = row = $res->fetch_assoc();
$total = $rec['count'];

echo "Total: " . $total . "n";
  

Метод # 4: амортизированный (не использовать)

 $res = mysql_query('SELECT SUM(column_value) AS count FROM table_name'); 
$row = mysql_fetch_assoc($res); 
$sum = $row['count'];
  

Ответ №6:

$row['Value'] вероятно, это строка. Попробуйте использовать intval($row['Value']) .

Кроме того, убедитесь, что вы установили $sum = 0 перед циклом.

Или, еще лучше, добавьте SUM(Value) AS Val_Sum в свой SQL-запрос.

Ответ №7:

 $result=mysql_query("SELECT SUM(column) AS total_value FROM table name WHERE column='value'");
$result=mysql_result($result,0,0);
  

Ответ №8:

Получаем сумму определенного значения строки с помощью PHP MYSQL

 "SELECT SUM(filed_name) from table_name"
  

Комментарии:

1. Вы имеете в виду использование MySQL?

2. мы получаем сумму из MYSQL, когда получаем результат, тогда почему мы пытаемся выполнить некоторый цикл получения результата..

Ответ №9:

 $sql = "SELECT SUM(Value) FROM Codes";

$result = mysql_query($query);

while($row = mysql_fetch_array($result)){

    sum = $row['SUM(price)'];

}

echo sum;