在表中的另一列中查找包含某些字符串的列的总和

时间:2016-09-13 02:59:47

标签: php mysql

我正在努力开发一个项目,需要找到总和和具有特定标准的总和。目前,我已设法计算列#34;价格"的总和。这是代码:

$sumQuery = "SELECT SUM(price) AS value_sum FROM tickets";
//$dbc is Database Connection
$sumResponse = @mysqli_query($dbc, $sumQuery);
$sumRow = mysqli_fetch_array($sumResponse); 
$sum = $sumRow['value_sum'];

我想处理这段代码并使其更具体。相反,我希望它只计算列的总和"价格"如果在那一行中它有字符串" Check"或"现金"在列" paytype"。我不知道从哪里开始。在提出这个问题之前,我已经完成了我的研究,但没有结果。

以下是我的表格片段,可以帮助您了解更多信息:

Tickets Table

如果我的描述毫无意义,这是我想要实现的简单版本。找到列的总和"价格"对于每一行用字符串"检查"或"现金"在列" paytype"。

1 个答案:

答案 0 :(得分:0)

使用条件聚合:

SELECT SUM(price) AS value_sum,
       SUM(CASE WHEN paytype IN ('Check', 'Cash') then price end) as check_or_cash
FROM tickets;

当然,如果您只想要支票/现金的金额,那么您将使用WHERE条款。