关于MYSQL查询问题抛出无效的使用组函数错误

问题描述:

我只需要一个使查询工作的帮助。关于MYSQL查询问题抛出无效的使用组函数错误

我想获得

SELECT SUM(TIME_TO_SEC(cdr.duration)) AS secsUsed 
FROM cdr 
WHERE SUM(TIME_TO_SEC(cdr.duration))>=2400 
GROUP BY ownerpin 
ORDER BY secsUsed DESC 

我发现,像上述聚合函数的使用将无法正常工作的所有其总CDR秒> = 2400(40分钟)的用户记录!

有什么办法可以让我的逻辑工作!

+1

你收到了什么错误?必须选择GROUP BY中的列。 – Kai 2013-02-21 08:17:34

+0

接收错误1111:无效的组功能使用,我只想要cdr秒 – 2013-02-21 08:17:58

+0

标题可能看起来像simillar,但查询问题是不同的,我检查与其他相同的标题问题,因为我无法找到任何解决方案,我已发布 – 2013-02-21 08:24:05

移动状态从WHEREHAVING条款:

select ownerpin, 
     SUM(TIME_TO_SEC(cdr.duration)) as secsUsed 
from cdr 
group by ownerpin 
HAVING SUM(TIME_TO_SEC(cdr.duration))>=2400 
order by secsUsed desc ; 
+0

谢谢,此查询工作!我还有另一个问题, 检查以下查询 select select SUM(TIME_TO_SEC(cdr.duration))as secsUsed,cdr.ownerpin,user.userid,DATEDIFF(now(),user.dateadded)作为daydiff从cdr内部连接(now(),dateadded)> cdr.ownerpin = user.ownerpin其中user(user_is_active = true,user.plan_type类似'%trial%')选择ownerpin,userid,dateadded,is_active,plan_type = 14或SUM(TIME_TO_SEC(cdr.duration))> = 2400组cdr.ownerpin order by secsUsed desc; – 2013-02-21 08:19:56

+0

现在我想执行两个条件,即或者是用户已经过去了14天或他/她的CDR分钟超过40分钟时 u能帮助错误1111:无效使用组功能的 这也扔 – 2013-02-21 08:21:50

+0

对不起,不格式化第二个查询!任何帮助! – 2013-02-21 08:25:24