【发布时间】:2014-07-07 15:24:41
【问题描述】:
我有一张表,我试图从中获取平均持续时间。我正在使用以下代码
/*TIME DURATION*/
SELECT DATE(createDate),
AVG(TIMESTAMPDIFF(SECOND, min(createDate), max(createDate))) AS Duration
FROM Impressions
WHERE session_id IN (
SELECT session_id
FROM carts
WHERE createDate >= '2014-06-30'AND createDate < '2014-07-07'
AND HOUR(createDate) >= 10
AND HOUR(createDate) < 21
)
AND session_Id <> ''
GROUP BY DATE(createDate);
但是,我收到以下错误,无法理解原因。任何帮助将不胜感激。
错误代码:-2147467259,编号:1111 ErrorMessage:组功能使用无效
【问题讨论】:
-
createDate的类型是什么 -
问题是 MIN 和 MAX 函数嵌套在 AVG 函数中。太多的分组功能。事实上,如果你删除 MIN 和 MAX 函数,你不会得到任何错误。
-
@JorgeCampos:
createDate是类型DATETIME@GiulioDeMarco: 有解决办法吗?我需要计算持续时间,这就是 MIN 和 MAX 存在的原因。 -
你用
min和max创建一个子查询怎么样?'masterquery'会在子查询的这个字段上做平均?! -
你介意给我举个例子吗?我是 mySQL 的新手,所以这将是一个很好的学习机会
标签: mysql sql timestamp average