首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最小值、最大值、分组依据和DateDiff

最小值、最大值、分组依据和DateDiff
EN

Stack Overflow用户
提问于 2011-08-16 04:21:47
回答 1查看 2.2K关注 0票数 0

我试图将多个MySQL语句优化为一个语句,但遇到了一个问题。

MySQL查询:

代码语言:javascript
复制
  SELECT companyid, COUNT(*) AS total 
    FROM timesheet 
   WHERE userId='1' 
     AND DATEDIFF(MIN(startDate), MAX(endDate)) <= 77 
GROUP BY companyid 
  HAVING total = 11

我正在尝试做的是选择所有公司,其中恰好有11条记录存在,并且第一条和最后一条记录是在11周内创建的。我得到的错误是“组函数的无效使用”。

这与MIN(), MAX()DATEDIFF()部分有关,但我无论如何也搞不懂它!

EN

回答 1

Stack Overflow用户

发布于 2011-08-16 04:24:58

聚合函数需要在HAVING子句中,而不是WHERE子句中。(例如您的DATEDIFF(MIN(startDate), MAX(endDate)) <= 77情况)

考虑应用于分组的记录,以及在分组之前应用于单个记录的情况。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7070351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档