php - 如何在 PHP 中显示 MySQL 列的总数
问题描述
我只是遇到了一些麻烦,对 MySQL 没有超级经验。这是我的代码:
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, client, package, rate, term_start, term_end, last_billed FROM clients";
$result = $conn->query($sql);
echo "<table><tr><th>Client</th><th>Package</th><th>Rate</th><th>Term Start</th><th>Term End</th><th>Last Billed</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["client"] . "</td><td>" . $row["package"]. "</td><td>$" . $row["rate"]. "</td><td>" . date("M\(m\) j, Y", strtotime($row["term_start"])) . "</td><td>" . date("M\(m\) j, Y", strtotime($row["term_end"])) . "</td><td>" . date("M\(m\) j, Y g:i a", strtotime($row["last_billed"])) . "</td><td><div class='tags'><a href=''>Details</a><a href=''>Send Invoice</a></div></td></tr>";
}
echo "<tr><td></td><td></td><td>" . $row["rate_sum"] . "</td></tr>";
echo "</table>";
$conn->close();
如您所见,我希望列行中所有事物的总和总计。我知道SELECT SUM(rate) AS rate_sum FROM clients
这是让它以“rate_sum”返回,但是如何在进行 SQL 调用的同时进行另一个调用?
解决方案
这可以像这样在查询中完成。
SELECT id, client, package, rate, SUM(rate) as total, term_start, term_end, last_billed
FROM clients
group by id with Rollup
最后一行的 id 为 null 和你想要的总数。
https://dev.mysql.com/doc/refman/5.6/en/group-by-modifiers.html
这不是 ROLLUP 最常见的用途,当您已经在进行聚合时,它更常用作超级聚合,例如按月分组销售并获得总计。但是,如果您需要数据来自查询而不是在外部计算,则对 id 进行分组将使其就像一个简单的总和。它确实有关于排序和限制的缺点。
推荐阅读
- google-maps - Magento 1.9 商店取货谷歌地图标记不显示
- graph - 为什么使用邻接矩阵或邻接列表?
- scala - 在一定时间内将项目添加到缓存,SCALA
- r - 如果 1 个减速器(RHadoop)的数据变大怎么办?
- android - 任务“:app:processDebugGoogleServices”执行失败。删除失败:\google-services\debug
- php - 我的口才有什么解决办法吗?耗时太长
- asp.net - 手动创建时的 Asp.Net 刷新令牌“invalid_grant”
- android - 如何单击 RecyclerView 项目以转到详细活动并在我单击的 RecyclerView 中应用项目的标题和价格?
- php - 根据mysql中的特定列数据过滤数据
- google-kubernetes-engine - VM CPU 使用率和 GKE 容器 CPU 使用率之间的差异