SQL语句GROUP BY 的使用
记得我们用 SUM 这个指令来算出所有的 Sales (营业额)吧!如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么办呢?在这个情况下,我们要做到两件事:第一,我们对于 store_name 及 Sales 这两个栏位都要选出。第二,我们需要确认所有的 sales 都要依照各个 store_name 来分开算。这个语法为:
SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1"
一般在一些情况比较复杂的左右连接中,LEFT JOIN (“子查询”)。
比如:
select
t.id,
t.settletotalmoney as settleTotalMoney,
t.contractId as contractId,
n.sumMoney,td.tm
from treasuryspend t
left join contract c ON c.id = t.CONTRACTID
left join (select sum(money) as sumMoney,contractid as contractid from notpayticket where ifdaozhang='Y' group by contractid) n on n.contractid = c.id
LEFT JOIN (select sum(TOTALMONEY) as tm ,TREASPENDID as ti from TREASURYPROJECTSPEND group by TREASPENDID) td on t.id = td.ti
WHERE c.STATUS = '1'