【问题标题】:Calculate Total in a Given Row计算给定行中的总计
【发布时间】:2011-03-01 15:59:18
【问题描述】:

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

  • 我在一张表上有不同的行,其中之一是 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'] . "'";

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

【问题讨论】:

    标签: php mysql html forms


    【解决方案1】:

    我不知道我是否做对了,但我认为你想这样做

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

    【讨论】:

      【解决方案2】:

      使用 MySQLs 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'] . "'";
      

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

      【讨论】:

        【解决方案3】:

        您的问题不清楚,并且您没有提供表格布局,但是当您说“总计列中所有字段的总计”时,这是否意味着您的表格看起来像:

        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')
        

        ...或者我完全误解了你的问题。

        【讨论】:

          猜你喜欢
          • 2019-03-13
          • 1970-01-01
          • 2016-04-22
          • 2017-10-04
          • 1970-01-01
          • 2017-06-03
          • 2023-03-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多