小编p99*_*p99的帖子

带有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
查看次数

标签 统计

monetdb ×1

sql ×1