您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Sybase:是否对行进行操作?

Sybase:是否对行进行操作?

我的理解:是的,从根本上说,HAVING在行上进行操作。通过省略GROUP BY,它可以对单个“超组”中的所有结果行进行操作,而不是对组内行进行操作。请阅读原始链接的Sybase docco中的“分组方式以及如何使用聚合进行查询 一节:

其次,在“ having,groupby和where子句如何相互作用”部分中有一个简短的摘要

当在查询中包含 , 和 子句时,每个子句影响行的顺序将确定最终结果:

@sqlGuru的解释就是对此的说明。

与此相关的是,我对使用Tsql“扩展列”的不符合ANSI的查询的行为感到惊讶。Sybase处理 (i) WHERE子句之后的扩展列 ii) 通过创建到原始表的额外联接,以及 (iii) 联接中未使用WHERE子句。这样的查询可能返回比预期更多的行,并且HAVING子句随后需要附加条件才能将其过滤掉。

请参阅原始链接的docco页面上的 “用于分组并具有的Transact-sql扩展” 下的示例 , 和 。我发现从Sybase安装 pubs2 示例数据库与示例一起使用非常有用。

sybase 2022/1/1 18:41:35 有456人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶