web-dev-qa-db-fra.com

Obtenir la somme de la colonne MySQL dans PHP

J'ai une colonne dans un tableau que j'aimerais additionner et renvoyer la somme. J'ai une boucle, mais ça ne marche pas.

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

echo $sum;
32
jack

Vous pouvez complètement le gérer dans la requête MySQL:

SELECT SUM(column_name) FROM table_name;

Dans le code PHP, essayez ceci:

$result = mysql_query('SELECT SUM(value) AS value_sum FROM codes'); 
$row = mysql_fetch_assoc($result); 
$sum = $row['value_sum'];

Utilisation de PDO (mysql_query est obsolète)

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

$row = $handler->fetchAll(PDO::FETCH_OBJ);
$sum = $row->value_sum;
95
Flinsch
$query = "SELECT * FROM tableName";
$query_run = mysql_query($query);

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

Essaye ça:

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

J'ai remplacer votre code et ça marche bien

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

    $sum += $value;
}

echo $sum;
2
SagarPPanchal

$row['Value'] est probablement une chaîne. Essayez d'utiliser intval($row['Value']).

Assurez-vous également de définir $sum = 0 avant la boucle.

Ou, mieux encore, ajoutez SUM(Value) AS Val_Sum à votre requête SQL.

2
Rocket Hazmat
$result=mysql_query("SELECT SUM(column) AS total_value FROM table name WHERE column='value'");
$result=mysql_result($result,0,0);
2
Kurpus
$sql = "SELECT SUM(Value) FROM Codes";

$result = mysql_query($query);

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

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

}

echo sum;
1
Samuel

MySQL 5.6 (LAMP). valeur_colonne correspond à la colonne à ajouter. nom_table est la table.

Méthode n ° 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";

Méthode 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";

Méthode 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";

Méthode n ° 4: Déprécié (ne pas utiliser)

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

Voici un exemple: Voir l'image de tous les noms de champs dans Database/Table .  enter image description here

nous voulons ajouter toutes les valeurs de la colonne "duration_sec" pour la date '09 -10-2018 'et uniquement le statut' off '

Ci-dessous se trouve la requête 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);
while($record = $duration->fetch_array()){
    $total = $record['count'];
}

echo $total
0
Harunduet

Obtenir la somme d'une valeur de ligne particulière en utilisant PHP MYSQL

"SELECT SUM(filed_name) from table_name"
0
senthilkumar