Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Meniru LINQ's .Skip(1000).Take(100) dalam Pure SQL?

Bagaimana untuk Meniru LINQ's .Skip(1000).Take(100) dalam Pure SQL?

Barbara Streisand
Barbara Streisandasal
2024-12-22 05:21:13680semak imbas

How to Replicate LINQ's .Skip(1000).Take(100) in Pure SQL?

SQL Tulen Setara dengan LINQ's .Skip(1000).Ambil(100)

LINQ's .Skip(1000).Ambil(100) kaedah membolehkan memilih julat baris tertentu dalam set data. Ini boleh dicapai melalui SQL dengan kata kunci OFFSET dan FETCH.

SQL Setara dengan .Skip()

Kaedah .Skip(1000) menapis baris supaya ia melangkau 1000 baris pertama. Dalam SQL, ini boleh dicapai dengan kata kunci OFFSET. Contohnya, untuk melangkau 1000 baris pertama jadual Sales.SalesOrderHeader, gunakan:

SELECT *
FROM Sales.SalesOrderHeader
OFFSET 1000 ROWS

SQL Equivalent of .Take()

The .Take( 100) kaedah mendapatkan semula bilangan baris tertentu. Dalam SQL, ini boleh dicapai dengan kata kunci FETCH. Untuk mendapatkan semula 100 baris seterusnya selepas melangkau 1000 yang pertama, gunakan:

FETCH NEXT 100 ROWS ONLY

Pertanyaan Gabungan

Menggabungkan dua operasi, SQL bersamaan dengan .Skip(1000 ).Ambil(100) ialah:

SELECT *
FROM Sales.SalesOrderHeader
OFFSET 1000 ROWS
FETCH NEXT 100 ROWS ONLY

Pertanyaan ini akan memilih baris 1000-1100 daripada jadual Sales.SalesOrderHeader. Ini ialah cara yang cekap untuk mendapatkan julat baris tertentu, terutamanya apabila bekerja dengan set data yang besar.

Atas ialah kandungan terperinci Bagaimana untuk Meniru LINQ's .Skip(1000).Take(100) dalam Pure SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn