从MySQL表中获取多行值

时间:2013-06-05 07:51:19

标签: php mysql

我是PHP的总菜鸟,但我正在尝试使用我能找到的信息来构建一个从MySQL表中读取多行的脚本。每行只包含一个数字。让我举个例子:

表中的每个ID都有一行名为“number”。

ID| NUMBER
1 | 8
2 | 12
3 | 6
4 | 9

现在我需要一个脚本 - 例如 - 获取ID 1,2和4并计算总量8 + 12 + 9 = 29。 3没有意思,我不想在计算过程中那一行。接下来,这个总数需要输出到一个空白的网站页面,因此它只显示没有其他任何内容的总数。

示例非常受欢迎,非常感谢!

2 个答案:

答案 0 :(得分:6)

查看sql SUM()聚合函数和IN比较运算符:

SELECT SUM(`number`) FROM `table` WHERE `id` IN (1,2,4);

UPDv1:

<?php
// hostname, username, password and database should be replaced with actual values.
$dbms = mysqli_connect('hostname', 'username', 'password', 'database');

if($dbms->connect_errno)die('MySQL connection error: ' . $dbms->connect_error);

// table should be replaced with actual table name.
$result = $dbms->query('SELECT SUM(`number`) as `amount` FROM `table` WHERE `id` IN (1,2,4)');

if($dbms->errno)die('MySQL error: ' . $dbms->error);

$row = $result->fetch_assoc();

echo $row['amount'];
?>

另外,检查PHP的MySQLi驱动程序是installed

答案 1 :(得分:2)

只需在SQL中使用SUM()即可。这个通用的sql应该可以工作:

SELECT SUM(column name) FROM table WHERE condition