【发布时间】:2016-06-29 14:00:38
【问题描述】:
我有一个 SQL Server 查询,它使用链接服务器连接从 Oracle 8i 服务器获取数据。我的问题完全是关于 Oracle SQL 的。
有一个 StyleSizes 表。一种样式可以有一个或多个与其相关的尺寸。我需要找到任何一张 Style_CD 有多个 Size_CD。这可以通过 GROUP BY 和 HAVING 来实现。但我只需要一种这样的风格。表的体积太大了,我等不及查询执行完成——所以我只需要一种样式。
Oracle 中应用 GROUP BY 和 HAVING 子句后如何快速只获取一条记录?
SELECT STYLE_CD
FROM OPENQUERY(LinkedORAServer,
'SELECT STYLE_CD
FROM DA.StyleSize M
GROUP BY STYLE_CD
HAVING COUNT(SIZE_CD) > 1
')
进一步阅读
- Ask Tom - On ROWNUM and Limiting Results
- Limit - Comparison of different SQL implementations
- How do I limit the number of rows returned by an Oracle query after ordering?
- Row Limiting Clause for Top-N Queries in Oracle Database 12c Release 1 (12.1)
- SQL Server - Pagination with OFFSET / FETCH : A better way
【问题讨论】:
-
你可以选择前 1 名吗?
-
@Veljko89 你的意思是 SQL Server 还是 Oracle 中的 TOP 1?在 SQL Server 中这样做是没有用的,因为它是一个 OPENQUERY。
-
你想得到什么?一种样式有多种尺寸?