Có phiên bản ANSI SQL tuân thủ của SELECT TOP n
của SQL SERVER không?Phiên bản ANSI SQL của SELECT TOP 1
11
A
Trả lời
15
ANSI/ISO SQL: 2003 giới thiệu chức năng cửa sổ:
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 đã hỗ trợ cú pháp này kể từ SQL Server 2005. http://msdn.microsoft.com/en-us/library/ms189798(v=sql.90).aspx
ANSI/ISO SQL: 2008 giới thiệu một đơn giản hơn cú pháp cho FETCH FIRST
, có thể giống với cú pháp của Microsoft/Sybase TOP
:
SELECT person_id, person_name, age FROM person
FETCH FIRST 3 ROWS ONLY
Microsoft chưa hỗ trợ cú pháp này. Xem thêm http://en.wikipedia.org/wiki/Select_(SQL)#Limiting_result_rows
Nếu bạn vẫn đang sử dụng Microsoft SQL Server 2000, bạn nên đọc một câu hỏi tôi đã đăng một khi trở lại về làm "phân trang" truy vấn phong cách: Emulate MySQL LIMIT clause in Microsoft SQL Server 2000
Các vấn đề liên quan
- 1. Sql SELECT TOP 1
- 2. "SELECT TOP 1 1" VS "IF EXISTS (SELECT 1"
- 3. SQL Select top hồ sơ thường xuyên
- 4. Dynamic SELECT TOP @var Trong SQL Server
- 5. Oracle SELECT TOP 10 hồ sơ
- 6. "CHỌN TOP 1" bình đẳng cho người viết mã?
- 7. MAX so với Top 1 - tốt hơn?
- 8. SELECT 1 = 1 không hoạt động
- 9. TOP và ORDER BY lỗi sql
- 10. SQL: Làm cách nào để sử dụng thông số cho TOP như trong TOP TOP @amount?
- 11. Chọn top 1 kết quả từ subquery trong LINQ to SQL
- 12. Phiên bản XSLT 1 Mã hóa URL
- 13. SQL: Sử dụng Top 1 trong truy vấn UNION với! Sắp xếp theo
- 14. NHibernate HQL tương đương với T-SQL TOP TOP
- 15. Sql Server TOP - được sử dụng?
- 16. SQl Xóa top 100 khỏi bảng
- 17. phiên bản hội ".001" trở thành" .1"
- 18. SQL tham gia: Tương lai của tiêu chuẩn ANSI SQL (nơi vs tham gia)?
- 19. SQL Server SELECT INTO @variable?
- 20. Truy vấn SELECT trả lại 1 hàng từ mỗi nhóm
- 21. Truy vấn SQL - Kết hợp DISTINCT và TOP?
- 22. SQL Server 2008: TOP 10 và khác biệt với nhau
- 23. MongoDB tương đương với SQL "TOP"
- 24. SELECT COUNT (*) SQL SERVER
- 25. SQL Server 'select * vào' so 'chèn vào ..select *
- 26. Phương pháp kiểm soát phiên bản SQL
- 27. Tại sao SELECT 2^3 trả lại 1 trong SQL Server?
- 28. MySQL có "SELECT LIMIT 1" với nhiều bản ghi chọn bản ghi đầu tiên từ trên cùng không?
- 29. Tại sao có một SELECT 1 từ bảng?
- 30. Câu hỏi SQL ANSI - cách chèn hoặc cập nhật bản ghi nếu nó đã tồn tại?
Tôi thậm chí không biết rằng ROW_NUMBER() OVER là ANSI SQL? – Andrew