相关疑难解决方法(0)

HAVING和WHERE有什么区别?

我必须用错误的方式搜索,或者我有一个愚蠢的时刻.

声明HAVING和声明之间的区别WHERESQL SELECT什么?

编辑:我已经将史蒂文的答案标记为正确答案,因为它包含链接上的关键信息:

何时GROUP BY不使用,HAVING表现得像一个WHERE条款

我见过的WHERE情况没有GROUP BY,也是我的困惑开始的地方.当然,在您知道这一点之前,您无法在问题中指定它.

非常感谢所有非常有启发性的答案.

sql where having

255
推荐指数
8
解决办法
30万
查看次数

带有where子句与group by的最小/最大查询

运行MonetDB数据库服务器工具包v1.1(2013年2月-SP6)

这个查询

select rowtype, min(zdate), max(zdate) , count(*) 
from fdhista 
group by rowtype 
;
Run Code Online (Sandbox Code Playgroud)

返回每个行类型的正确最小和最大日期.

rowtype L1  L2  L3
3   1970-12-31  2009-07-31  1664186
1   2003-02-24  2013-09-13  11649306
Run Code Online (Sandbox Code Playgroud)

这个查询,在同一个表上

select min(zdate), max(zdate), count(*) from fdhista where rowtype=3;
Run Code Online (Sandbox Code Playgroud)

似乎"忽略"了where子句,返回

L1  L2  L3
1970-12-31  2013-09-13  13313492
Run Code Online (Sandbox Code Playgroud)

我还没有找到一个通用的sql先例(尚未).这是预期的反应吗?

我在期待这个

L1  L2  L3
1970-12-31  2009-07-31  1664186
Run Code Online (Sandbox Code Playgroud)

我在Oracle和SQL Server中尝试了类似的查询,并取回了我预期的响应.然而,我发现支持"忽略"where子句的通用sql注释.也许这是MonetDB使用特定SQL标准的情况?

sql monetdb

5
推荐指数
1
解决办法
963
查看次数

标签 统计

sql ×2

having ×1

monetdb ×1

where ×1