计算给定行中的总计

时间:2010-08-13 22:32:04

标签: php mysql html forms

我正在开发一个我需要的系统:

  • 我在一张桌子上有各种各样的行,其中一行是Total
  • 我想要的脚本可以添加Total列中所有字段的总和。
  • 然后我会添加会话用户,以便它只计算该列中该特定人员的所有总字段。

您可以向我询问:例如30天的搜索查询是

$query="SELECT * 
          FROM clientdata 
         WHERE ADDTime BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW() 
           AND member_id='" . $_SESSION['SESS_FIRST_NAME'] . "'";

因此,您还可以在下面发布的代码中添加会话详细信息

3 个答案:

答案 0 :(得分:0)

我不知道我是否做得对,但我想你想做到这一点

select sum(total) WHERE ADDTime BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW() AND member_id='" . $_SESSION['SESS_FIRST_NAME'] . "'";

答案 1 :(得分:0)

使用MySQL SUM()函数:

$query="SELECT SUM(total), * FROM clientdata WHERE ADDTime BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW() AND member_id='" . $_SESSION['SESS_FIRST_NAME'] . "'";

如果您需要/需要更多数据,请仅使用查询的, *位。

答案 2 :(得分:0)

您的问题不明确,并且您没有提供表格布局,但是当您说“总计列中的所有字段总数”时,这是否意味着您有一个表格如下:

id | field1 | field2 | field3 | ... | Total | UserID

并且您希望Total列等于field1 + field2 + field3 + ...?或者你有一些事情:

id | Type     | Value | UserID
1  | 'field1' |  ...  |  ..
2  | 'field2' |  ...  |  ..
3  | 'field3' |  ...  |  ..
4  | 'Total'  |  ...  |  ..

对于第一个,查询很简单:

SELECT UserID, SUM(field1 + field2 + field3 + ...) AS Total
FROM table
GROUP BY UserID

第二个:

SELECT UserID, SUM(Value) AS Total
FROM table
GROUP BY 'UserID', 'Type'
WHERE ('Field' <> 'Total')

......或许我完全误读了你的问题。