不能对包含聚合或子查询的表达式执行聚合函数

select avg(datediff(day,(select a.date from a where a.id=b.id),b.date))from b 不能对包含聚合或子查询的表达式执行聚合函数。该怎么改?

select avg(datediff(day,a.date,b.date))
 
from b inner join a on a.id=b.id

这样试试

追问

如果是select top 1 a.date呢?

如果是select top 1 a.date呢?

追答

select avg(datediff(day,t1.date,b.date))

from b inner join (select top 1 a.date date from a) t1 on t1.id=b.id

温馨提示:内容为网友见解,仅供参考
无其他回答

不能对包含聚合或子查询的表达式执行聚合函数
select avg(datediff(day,a.date,b.date)) from b inner join a on a.id=b.id这样试试

CONTENT不能对包含聚合或子查询的表达式执行聚合函数.
你好,你select 后面的那些子查询,不能用在group by 里面。而且,你的语句子查询很多。你可以想办法优化下。

不能对包含聚合或子查询的表达式执行聚合函数
max和avg不要一起上吧 select avg(sal)) from card group by deptno 作为一个临时表 或者子查询 或者order by 取第一个都成呀

该列没有包含在聚合函数或 GROUP BY 子句--sql code
必须指定要分组的对象,但是如果查询的字段使用了聚合函数,则无需在GROUP BY中指定它 打个比方有表 TB 中有字段 a,b,c那么select a,b from TB group by a,b 是成立的, 如果你写成 select a,

sql数据库 建立三个表 student(学号 姓名 性别) sc(学号 课程号 成绩...
如果我们这里水果种类不是用Count(*),而是类似如下写法的话: SELECT FruitName, ProductPlace FROM T_TEST_FRUITINFO GROUP BY ProductPlace 那么SQL在执行此语句的时候会报如下的类似错误: 选择列表中的列 'T_TEST_FRUITINFO.FruitName' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。 这就是我们需要...

sql中如何取count(*)的值(sql中的count(*)和count(1))
对所有的值进行聚合函数运算。ALL是默认值。DISTINCT 指定COUNT返回唯一非空值的数量。expression 除text、image或ntext以外任何类型的表达式。不允许使用聚合函数和子查询。指定应该计算所有行以返回表中行的总数。COUNT(*)不需要任何参数,而且不能与DISTINCT一起使用。COUNT(*)不需要expression参数,因为根据...

...该聚合位于 HAVING 子句或选择列表所包含的子查询中,并且要对其进行...
在sql中,where优先级高于聚合函数(比如这里的sum)。不能在where子句中使用聚合函数。having的优先级低于聚合函数,故可以在having中使用聚合函数。

请教高手,informix online 出现错误代码
-231 错误的描述:在表达式中不能执行DISTINCT聚合函数。 系统的操作:含有错误的语句不被处理。 更正的方法:将表达式选择到一个临表中,然后对临时表执行聚合。-232 错误的描述:企图修改SERIAL字段。 系统的操作:含有错误的语句不被处理。 更正的方法:SERIAL字段的值由INFORMIX-SQL提供,不能修改。-233 错误的描述:...

...无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
这个查询相当的复杂啊,在子查询中用到的聚合函数sum,所以如果有列没被包含在聚合函数或者group by子句中就会出现此类错误提示。解决办法可以按照错误提示反向纠正,如果提示说没有在group by子句中,那就把这个列放在group by子句中。之后再次执行,看是否还有错误提示。

该列没有包含在聚合函数或GROUP BY子句
凡是在group by后面出现的字段,必须同时在select后面出现;凡是在select后面出现的、同时未在聚合函数中出现的字段,必须同时出现在group by后面”,检查sql是否符合上述法则。正确的写法是 SELECT U_ID,min(House_Addrinfo),COUNT(U_ID) AS CX FROM YX_ChuShou GROUP BY U_ID ORDER BY CX DESC 或...

相似回答