我在数据库中创建了一个表,显示日期,用户,值。以下是修改后的设计:
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;的任何新用户。表列自动在页面上添加一个额外的列,如何实现这些列的汇总以获得总计。
对此有任何帮助将不胜感激。