Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

คำสั่ง SELECT TOP ใน SQL Server

SELECT TOP ใช้ทำอะไร?

จำกัดจำนวนแถวที่คืนผลลัพธ์ โดยระบุเป็น จำนวนคงที่ หรือ เปอร์เซ็นต์

รูปแบบคำสั่ง

SELECT TOP (n) [PERCENT] [WITH TIES]
    column_list
FROM table_name
[WHERE condition]
[ORDER BY column [ASC | DESC]];

ตัวเลือก

  • TOP (n): จำนวนแถวแรกที่ต้องการ (เช่น TOP (10))
  • PERCENT: เปอร์เซ็นต์ของผลลัพธ์ทั้งหมด (เช่น TOP (10) PERCENT = 10%)
  • WITH TIES: รวมแถวที่มีค่า ORDER BY เท่ากับแถวสุดท้าย (อาจได้มากกว่า n)
  • ORDER BY: จำเป็น หากต้องการผลลัพธ์ที่ deterministic (TOP ไม่มี ORDER BY จะสุ่ม)

ตัวอย่าง

1. TOP แบบคงที่

SELECT TOP (5) nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nhanvien_id;

คืน 5 แถวแรกที่เรียงตาม ID

2. TOP WITH TIES

SELECT TOP (5) WITH TIES nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nhanvien_id;

ถ้าแถวที่ 5 และ 6 มี ID เท่ากัน จะคืนทั้งคู่ (อาจได้ 6 แถว)

3. TOP PERCENT

SELECT TOP (10) PERCENT nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nhanvien_id;

คืน 10% ของแถวที่ match

4. TOP PERCENT WITH TIES

SELECT TOP (10) PERCENT WITH TIES nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nhanvien_id;

รวม ties ที่ขอบเขต 10%

หมายเหตุ: ใช้ TOP กับ INSERT, UPDATE, DELETE ได้เช่นกัน (DELETE TOP, UPDATE TOP)