![](/img/trans.png)
[英]How can I get a total value from the same column of multiple rows in a mysql query?
[英]Get total value of the same column multiple rows and total of two different rows (mysql query)
我有一张表“记录”[记录] [1]
select typeofservice,
Coalesce(sum(incomecost,expensecost),0) 'incomecost,expensecost'
from records
where dateoftrans = '2016-11-22'
group by typeofservice with rollup;
我希望能够在第二张图像上得到结果,这是我的查询......所有这些交易都发生在一天。 请帮忙
以下查询假定,对于给定类型的服务,您希望在收入成本总和超过费用成本之和时报告收入,反之亦然。 在每种情况下,收入和费用之间的差异在适当的列中报告,在备用列中报告NULL
。
SELECT typeofservice,
CASE WHEN SUM(incomecost) - SUM(expensecost) > 0
THEN SUM(incomecost) - SUM(expensecost)
ELSE NULL END AS incomecost,
CASE WHEN SUM(expensecost) - SUM(incomecost) > 0
THEN SUM(expensecost) - SUM(incomecost)
ELSE NULL END AS expensecost
FROM records
WHERE dateoftrans = '2016-11-22'
GROUP BY typeofservice
WITH ROLLUP
如果仅针对第二张图像的结果,您可以尝试sum(incomecost)
和sum(expensecost)
如下所示:
SELECT
typeofservice,
Coalesce(SUM(incomecost), 0) AS incomecost,
Coalesce(SUM(expensecost), 0) AS expensecost
FROM records
GROUP BY typeofservice
WITH ROLLUP
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.