【问题标题】:Subtracting the total of one column from another - PHP/MySQL从另一列中减去一列的总数 - PHP/MySQL
【发布时间】:2014-07-22 15:17:55
【问题描述】:

我要做的是从另一整列的总数中减去一个完整的 MySQL 列的总数。我可以成功地将两列单独相加,但我无法弥合将它们相加然后从另一列中减去一列之间的差距。

$start = "SELECT SUM(start) FROM `table`";
$end = "SELECT SUM(end) FROM `table`";
$total = "Here is my problem"; //I tried something like $end - $start, but to no avail

可以显示start和end的和,但是不能取end-start。

【问题讨论】:

  • 理论上SELECT SUM(start) as START, SUM(end) as END, (SUM(end)-SUM(start)) as SUB FROM table 应该工作
  • Select Sum(End) - Sum(Start) From Table我是个巫师。
  • @Siyual 和我的一样,但我添加了另外两个,以防他也需要这些。

标签: php mysql sql


【解决方案1】:

你试过了吗:

SELECT (SUM(start) - SUM(end)) AS `difference` FROM `table`

【讨论】:

  • 嗯,所有这些都可能有效。原谅我的笨拙,但是一旦我将它设置为我的 $total 变量,我该如何显示它?我有回声“总计:”。 $总计;并在页面上显示查询
  • 您知道它们必须通过数据库扩展运行,对吧?如果您不知道,请查看:w3schools.com/php/php_mysql_connect.asp
  • 不,我知道并且已经连接到数据库并且所有这些都没有问题。我的数据库中没有“总计”列,因为我希望能够只显示“结束”列 - 将“开始”作为总计而不在数据库中创建“总计”列,因为我不希望用户看到“总数”,除非他们转到特定页面。这是可行的还是我必须制作一个“总计”列?
  • 显示什么由您决定。使用别名 (SELECT ... AS total) 可以让您访问结果数组中的 'total' 键,尽管不是字段名称,如果这就是您的要求?
  • 是的,这完全有道理,所以如果我使用“total”作为别名,我该如何回应呢?我了解查询,如果有意义,我现在需要显示查询结果。
【解决方案2】:

我想即使这样也行:

SELECT SUM(`start` -`end`) AS `total` FROM `table`

【讨论】:

    【解决方案3】:

    如其他人所述,您可以选择已计算的总和

    $totalsql = "SELECT (SUM(start) - SUM(end)) AS difference FROM table";
    //Query to call would be here $result = $db->query($totalsql) or whatever
    $total = $result['difference'];
    

    【讨论】:

      猜你喜欢
      • 2020-04-01
      • 2015-07-06
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 1970-01-01
      • 2021-03-07
      相关资源
      最近更新 更多