我如何获得汇总计数' Total'在表

时间:2017-02-25 18:46:44

标签: php mysql report rollup

我在数据库中创建了一个表,显示日期,用户,值。以下是修改后的设计:

   Date    | User  | Value  
---------- | ----- | -----    

因此,每个用户都会计算他们通过日期匹配​​的提交内容。结果将从数据库中的此查询中显示

SELECT * FROM testreport

请参阅评论中提到的下面的新设计,我在最后添加了行总数。

   Date    | User1 | User2 | User3 |    Value 
---------- | ----- | ----- | ----- | -----------
23-02-2017 |   2   |   5   |   9   |     16
24-02-2017 |   5   |   7   |   11  |     23   
25-02-2017 |   6   |   13  |   1   |     20

但是我想要实现的是通过选择表并在最后一行显示总数,我该怎样做:

   Date    | User1 | User2 | User3 |    Value 
---------- | ----- | ----- | ----- | -----------
23-02-2017 |   2   |   5   |   9   |     16
24-02-2017 |   5   |   7   |   11  |     23   
25-02-2017 |   6   |   13  |   1   |     20
Total      |   13  |   25  |   21  |     59

但是我无法指定像How do I calc a total row using a PIVOT table, without UNION, ROLLUP or CUBE?这样的列名。因为从时间开始会有额外的用户添加到此表中,但我希望能够在结尾处获得包含总计的所有列。在我的网站上,我使用PHP在页面上显示代码:

$sqlres = "SELECT * FROM testreport order by Date DESC ";
$resultsql = mysqli_query($sqlres) or die(mysql_error());

echo "<table><tr>";
for($i = 0; $i < mysqli_num_fields($resultsql); $i++) {
    $field_info = mysqli_fetch_field($resultsql, $i);
    echo "<th>{$field_info->name}</th>";
}

// Print the data
while($rows = mysqli_fetch_row($resultsql)) {
    echo "<tr>";
    foreach($rows as $_column) {
        echo "<td>{$_column}</td>";
    }
    echo "</tr>";
}

echo "</table>";

显示我想要的标题和行以及我添加到&#39; testreport&#39;的任何新用户。表列自动在页面上添加一个额外的列,如何实现这些列的汇总以获得总计。

对此有任何帮助将不胜感激。

0 个答案:

没有答案