“无效使用组功能”,未使用组功能

时间:2016-07-05 11:16:13

标签: mysql sql

任何人都知道我收到此错误消息的原因:

  

查找错误 - MySQL数据库错误:无效使用组功能

用于以下查询?

select * from users u where u.CreationDate BETWEEN min(u.CreationDate) AND 
DATE_ADD(min(u.CreationDate), INTERVAL 1 YEAR)

我必须在查询中对功能进行分组!

2 个答案:

答案 0 :(得分:2)

您不能在join子句中使用聚合函数。您想要的是select * from users u cross join (select min(CreationDate) as mincd from users ) uu where u.CreationDate BETWEEN uu.mincd AND DATE_ADD(uu.mincd, INTERVAL 1 YEAR); 和汇总以获得最短日期:

select * from users u where u.CreationDate 
BETWEEN (SELECT min(u.CreationDate) FROM users) AND 
DATE_ADD((SELECT min(u.CreationDate) FROM users), INTERVAL 1 YEAR)

答案 1 :(得分:0)

您不能在BETWEEN子句中使用MIN,但您可以:

UITableView

如果这是一个程序,您可以将最小日期存储在变量中,然后在查询中使用它而不是冗余调用。