การแบ่งหน้าใน MSSQL เขียนเมื่อ 2009.06.30 โดย

ในการเขียนแสดงผลระเบียน (Records) ใน SQL ให้เป็นหน้าๆนั้นถ้าเป็นใน MySQL ก็สามารถทำได้โดยง่ายเพียงใช้คำสั่ง LIMIT เท่านั้น แต่ใน MSSQL ไม่มีคำสั่ง LIMIT แต่มีคำสั่งที่ใกล้เคียงเพียงคำสั่งเดียวคือ TOP n ซึ่งเป็นเพียงการนำเอาระเบียนต้นจำนวน n ระเบียนออกมาเท่านั้น ดังนั้นการจะแบ่งหน้าใน MSSQL จึงไม่สามารถทำได้จบใน Query เดียว การแบ่งหน้าใน MSSQL สามารถทำได้โดยใช้คำสั่ง

TSQL
  1. SELECT * FROM
  2.     (SELECT TOP x * FROM
  3.         (SELECT TOP y field_name FROM table_name WHERE conditions ORDER BY field_name ASC)
  4.     AS sub ORDER BY FIELD _name DESC)
  5. AS bar ORDER BY field_name ASC

ในที่นี้ x คือจำนวนระเบียนที่ต้องการ และ y คือค่า offset+x เพียงเท่านี้เราก็สามารถทำการแบ่งหน้า ใน MSSQL ได้แล้ว



คำเตือนคำเตือน เนื้อหาต่างๆ ในบทความ รวมถึงรูปภาพทั้งหมดในบทความนี้ เป็นความเห็นส่วนตัวของผู้เขียนแต่ละคน ซึ่งแต่ละคนได้ทำการลงทะเบียน และเขียนบทความลงใน Modoeye Articles นี้โดยไม่มีค่าธรรมเนียมใดๆ บทความเหล่านี้เป้าหมายเพื่อการศึกษา และความบันเทิงเท่านั้น การนำส่วนหนึ่งส่วนใดของบทความไปใช้งาน ควรทำการอ้างอิงถึงผู้เขียนและแหล่งที่มาด้วย