我想通过使用一个嵌套的select语句来总计我从一个聚集函数,然后我在最后有一个组但是我得到一个错误,指出关键字by不是。总结一个聚合函数
下面是代码:
SELECT SUM(TOTAL) as CURTOTAL, SUM(LYTOTAL) as CURLYTOTAL
from
(select
pf.*, ps.*, st.*, RANK() OVER (ORDER BY JULsaless desc) as TOTRANK,
JANSALESS + FEBSALESS + MARSALESS + APRSALESS + MAYSALESS + JUNSALESS + JULSALES as TOTAL,
JANLYSAL + FEBLYSAL + MARLYSAL + APRLYSAL + MAYLYSAL + JUNLYSAL + JULLYSAL as LYTOTAL`
from
payssfile pf left joinpayssspec ps on pf.str#` = ps.str# and pf.item# = ps.item# join storefile
st on
pf.str# = st.str# where(year = 2015 and totaltype = '' and pf.str# =38))` group by pf.str#;`
然后当我去跑,我得到这个消息:
关键字这里并没有预期。在 关键字BY上检测到语法错误。有效令牌的部分列表是使用SKIP WAIT WITH FETCH ORDER UNION EXCEPT OPTIMIZE。
什么是您的数据库? – Mihai
这是一个IBM数据库 – nminar
不确定反引号是怎么回事。当他们都是38岁时,你为什么用'pf.str #'分组?你甚至使用'TOTRANK'?希望优化器足够聪明,可以去除你不需要的东西。它似乎可以直接总结表达式sum(JANLYSAL + ... + JULLYSAL)'。 – shawnt00