簡體   English   中英

獲取 PHP 中 MySQL 列的總和

[英]Get sum of MySQL column in PHP

我在表中有一個列,我想將其相加並返回總和。 我有一個循環,但它不工作。

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

echo $sum;

您可以在 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'];
$query = "SELECT * FROM tableName";
$query_run = mysql_query($query);

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

嘗試這個:

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

我已經替換了您的代碼並且效果很好

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

    $sum += $value;
}

echo $sum;

MySQL 5.6(燈)。 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'];

讓我們使用下圖作為 MySQL 數據庫中的數據示例:

在此處輸入圖像描述

現在,正如問題所提到的,我們需要在表中找到特定列的總和。 例如,讓我們添加日期“09-10-2018”的“duration_sec”列的所有值,並且只添加狀態“off”

對於這種情況,以下是 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;

$row['Value']可能是一個字符串。 嘗試使用 intval($row['Value'])

另外,請確保在循環之前設置$sum = 0

或者,更好的是,將SUM(Value) AS Val_Sum添加到您的 SQL 查詢中。

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

使用 PHP MYSQL 獲取特定行值的總和

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

$result = mysql_query($query);

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

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

}

echo sum;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM