是否有可能或其他解决方案在单个sql查询中求和并选择多行,并使用while循环打印:
$query = mysql_query("SELECT SUM(Total), * FROM table");
while ($fetch = mysql_fetch_row($query)) {
echo $fetch[a];
echo $fetch[b];
echo $fetch[c];
}
答案 0 :(得分:4)
使用JOIN和子查询来计算总数。
SELECT SumTotal, a.*
FROM Table a
JOIN (SELECT SUM(Total) SumTotal
FROM Table) b
答案 1 :(得分:0)
使用 GROUP BY 子句。
$query = mysql_query("SELECT *,SUM(Total) as TotalSUM FROM table GROUP BY Total");
while ($fetch = mysql_fetch_row($query)) {
echo $fetch[a];
echo $fetch[b];
echo $fetch[c];
}
答案 2 :(得分:0)
你是说这个吗?
SELECT (SELECT SUM(Total) FROM `table`) totalSum, a.* FROM `table` a
答案 3 :(得分:0)
通常您希望按列进行分组,以便您可以按组进行求和,然后在此示例中为每个category_id分别提供行
SELECT category_id, SUM(price) as totalprice
FROM products
GROUP BY category_id
答案 4 :(得分:0)
你可以像@ 491243建议那样做
SELECT (SELECT SUM(Total) FROM `table`) AS totalSum, * FROM `table`
但建议不要这样做,因为这会导致SQL Engine
计算sum
列total
,而是从数据库中选择的每一行,并将结果发送到{ {1}}列php
列中的值相同,
最好去2个查询。 一个用于选择行,另一个用于获取总数
答案 5 :(得分:0)
使用复杂查询而不是更简单,更快速地在循环内求和?
你可以简单地(更快)select * from table
并在你的while
循环中进行循环时的总和。它比使用子查询