MySQL-এ LIMIT ক্লজ থাকে, কিন্তু SQL Server-এ সেটি নেই। SQL Server-এ সীমিত সংখ্যক রো পেতে TOP ক্লজ ব্যবহার করা হয়।
সিনট্যাক্স তুলনা
| MySQL | SQL Server |
|---|---|
SELECT * FROM tbl LIMIT 10 | SELECT TOP(10) * FROM tbl |
SELECT * FROM tbl LIMIT 5, 10 | SELECT * FROM tbl ORDER BY id OFFSET 5 ROWS FETCH NEXT 10 ROWS ONLY (SQL Server 2012+) |
উদাহরণ: TOP(1) ব্যবহার
টেবিল তৈরি ও ডেটা ইনসার্ট:
CREATE TABLE TopDemoInSQLServer (
Id INT,
Name VARCHAR(10)
);
INSERT INTO TopDemoInSQLServer VALUES
(10, 'John'), (14, 'Carol'), (1, 'Sam'),
(11, 'Bob'), (18, 'David'), (20, 'Sam');
কোয়েরি: TOP(1) দিয়ে একটি রো পান
SELECT TOP(1) * FROM TopDemoInSQLServer WHERE Name = 'Carol';
আউটপুট
+----+-------+ | Id | Name | +----+-------+ | 14 | Carol | +----+-------+
পেজিনেশন (SQL Server 2012+)
-- পেজ ২, প্রতি পেজ ১০ রো SELECT * FROM TopDemoInSQLServer ORDER BY Id OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
নোট: SQL Server 2008 R2 বা পুরনো ভার্সনে ROW_NUMBER() উইন্ডো ফাংশন দিয়ে পেজিনেশন করতে হয়।