gpt4 book ai didi

sql - SELECT TOP 1 的 ANSI SQL 版本

转载 作者:行者123 更新时间:2023-12-02 07:51:51 26 4
gpt4 key购买 nike

SQL SERVER 的 SELECT TOP n 是否有符合 ANSI SQL 的版本?

最佳答案

ANSI/ISO SQL:2003 引入了窗口函数:

SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY age ASC) AS rownum,
person_id,
person_name,
age
FROM person
) AS foo
WHERE rownum <= 3

Microsoft SQL Server 2005 及更高版本支持此语法。 http://msdn.microsoft.com/en-us/library/ms189798(v=sql.90).aspx

ANSI/ISO SQL:2008 引入了更简单的 FETCH FIRST 语法,这可能更类似于 Microsoft/Sybase TOP 语法:

SELECT person_id, person_name, age FROM person
FETCH FIRST 3 ROWS ONLY

Microsoft SQL Server 2012 及更高版本支持此语法。 https://learn.microsoft.com/en-us/sql/t-sql/queries/select-order-by-clause-transact-sql?view=sql-server-2017#using-offset-and-fetch-to-limit-the-rows-returned

如果您仍在使用 Microsoft SQL Server 2000,您应该阅读我不久前发布的有关执行“分页”样式查询的问题: Emulate MySQL LIMIT clause in Microsoft SQL Server 2000

关于sql - SELECT TOP 1 的 ANSI SQL 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14804325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com