简体   繁体   English

按列求和

[英]Sum Group By Column

I have a column (PL.UNITS) that I need to Total at the bottom of the results of a query, is it possible to sum PL.UNITS that is already summed? 我在查询结果的底部有一个列(PL.UNITS),我需要总计。是否可以将已经求和的PL.UNITS相加?

Please see query below. 请参阅下面的查询。

SELECT ID.DUEDATE AS [DUE DATE], CD.RENEWALDATE, CD.RENEWALSTATUS, CD.CONTRACTNUMBER, L.LOCNAME, L.LOCADDRESS1, L.LOCADDRESS2, L.LOCADDRESS3, L.LOCADDRESS4, L.POSTCODE, SUM(PL.UNITS) AS UNITS from CLIENTDETAILS CD 

INNER JOIN LOCATIONS L ON CD.CLIENTNUMBER = L.CLIENTNUMBER 
INNER JOIN ITEMDETAILS ID ON L.LOCNUMBER = ID.LOCNUMBER
INNER JOIN PLANT PL ON ID.CODE = PL.CODE

WHERE L.OWNER = 210 and L.STATUSLIVE = 1 and ID.DUEDATE > '01/01/2017' 

GROUP BY ID.DUEDATE, CD.RENEWALDATE, CD.RENEWALSTATUS, CD.CONTRACTNUMBER, L.LOCNAME, L.LOCADDRESS1, L.LOCADDRESS2, L.LOCADDRESS3, L.LOCADDRESS4, L.POSTCODE

It's probably best to do this sort of thing in front end development. 最好在前端开发中做这种事情。 Nevertheless, here is an example (quick and dirty, but shows the idea) for sql-server: 不过,这是sql-server的一个示例(快速又肮脏,但显示了这个想法):

SELECT  COALESCE(a.id, 'total') AS id
,       SUM(a.thing) AS thing_summed
FROM    (
            SELECT '1' id
            ,   1 thing
            UNION
            SELECT '2'
            ,   2 thing
            UNION
            SELECT '1'
            ,   3 thing
        ) AS a
GROUP BY ROLLUP(a.id) 

Result: 结果:

+-------+--------------+
|  id   | thing_summed |
+-------+--------------+
| 1     |            4 |
| 2     |            2 |
| total |            6 |
+-------+--------------+

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM