需要在列的所有行中汇总数字

时间:2017-05-25 17:12:37

标签: php mysql

我有一个包含250 000行的表,一列只有数值,其中一些有千位之间的空格,所以就像1 000一样。

我想计算总计250 000行的总和。

脚本运行和返回的最快速度是什么?

它只是一个MySQL查询还是我必须用PHP计算?

不知道从哪里开始。

2 个答案:

答案 0 :(得分:0)

您可以使用replace删除空格,然后只需sum结果。 MySQL会隐式地将字符串转换为数字:

SELECT SUM(REPLACE(my_column, ' ', ''))
FROM   my_table

答案 1 :(得分:0)

尝试这样的事情。

<?php
$db = new mysqli('localhost', 'user', 'pass', 'demo');

if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}

$sql = "SELECT SUM(REPLACE(my_column, ' ', '')) result
        FROM my_table";

if(!$result = $db->query($sql)){
    die('There was an error running the query [' . $db->error . ']');
}

while($row = $result->fetch_assoc()){
    echo $row['result'] . '<br />';
}