ฉันสนใจที่จะเรียนรู้วิธีฐานข้อมูลแบบไม่เชื่อเรื่องพระเจ้าในการเลือกแถวที่nจากตารางฐานข้อมูล นอกจากนี้ยังเป็นที่น่าสนใจที่จะเห็นว่าสิ่งนี้สามารถทำได้โดยใช้ฟังก์ชั่นพื้นเมืองของฐานข้อมูลต่อไปนี้:
- เซิร์ฟเวอร์ SQL
- MySQL
- PostgreSQL
- SQLite
- คำพยากรณ์
ฉันกำลังทำสิ่งต่อไปนี้ใน SQL Server 2005 แต่ฉันสนใจที่จะเห็นแนวทางที่ไม่เชื่อเรื่องพระเจ้าของผู้อื่นมากขึ้น:
WITH Ordered AS (
SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate
FROM Orders)
SELECT *
FROM Ordered
WHERE RowNumber = 1000000
เครดิตสำหรับ SQL ข้างต้น: บล็อกของ Firoz Ansari
อัปเดต:ดูคำตอบของ Troels Arvinเกี่ยวกับมาตรฐาน SQL Troels คุณมีลิงค์ที่เราสามารถอ้างอิงได้ไหม?
OrderNo N
แนะนำคอลัมน์OrderSequenceNoในตารางและสร้างจากตัวสร้างลำดับอิสระเมื่อสร้างคำสั่งซื้อใหม่
offset x fetch first y rows only
กำหนดตัวเลือก ขณะนี้รองรับ Postgres (อย่างน้อย), Oracle12, DB2