我一直试图将这个问题放在一起但是当我认为我已经完成并试图运行它时,我得到了这个错误。我很确定这是关于这条线的:
- > AND SUM(cr.file_size)> 50亿
SELECT ss.TITLE
-> ,SUM(cr.file_size)
-> ,gr.user_id
-> ,ru.givenname
-> ,ru.sn
-> ,ru.mail
-> FROM CONTENT_RESOURCE cr
-> ,SAKAI_SITE ss
-> ,SAKAI_REALM_RL_GR gr
-> ,SAKAI_REALM rl
-> ,rutgers_user ru
-> ,SAKAI_USER_ID_MAP map
-> WHERE cr.CONTEXT = ss.SITE_ID
-> AND SUM(cr.file_size) > 5000000000
-> AND rl.realm_id = CONCAT ('/site/',ss.site_id)
-> AND rl.realm_key = gr.realm_key
-> AND gr.role_key IN (7,3)
-> AND gr.user_id = map.user_id
-> AND map.eid = ru.uid
-> INTO OUTFILE '/tmp/siteContentUsage.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
答案 0 :(得分:1)
您需要having
条款。聚合函数不属于where
子句:
HAVING SUM(cr.file_size) > 5000000000
当然,这也预示着你有一个group by
条款,因为having
条款应该在group by
之后。我不确定那是什么,也许group by user_id
。
此外,您应该学习正确的显式join
语法。简单规则:永远不要在from
子句中使用逗号。