HOME > .NET Framework > Forum > สอบถามเกี่ยวกับการใช้คำสั่ง SQL หน่อยครับ ถ้าผมไม่ต้องการ 100 Record แรก จะสามารถใช้คำสั่งอะไรได้ครับ (MS SQL Server 2008)
สอบถามเกี่ยวกับการใช้คำสั่ง SQL หน่อยครับ ถ้าผมไม่ต้องการ 100 Record แรก จะสามารถใช้คำสั่งอะไรได้ครับ (MS SQL Server 2008)
สอบถามเกี่ยวกับการใช้คำสั่ง SQL หน่อยครับ ถ้าผมไม่ต้องการ 100 Record แรก จะสามารถใช้คำสั่งอะไรได้ครับ (MS SQL Server 2008)
จุดประสงค์ของผมคือการคิิดค่าใช้บริการของลูกค้านะครับ เช่น
"ลูกค้า A ได้รับสิทธิการใช้งาน 100 ครั้ง"
ผมก็จะเลือก 100 Record แรกมาคิดค่าบริการในราคาพิเศษ
แล้ว Record ที่เหลือก็จะคิดอีกราคาหนึ่ง
ซึ่งปัญหาคือผมไม่รู้ว่าจะเอา Record ที่ 101 เป็นต้นไปขึ้นมาได้อย่างไร?
SELECT MyCol1, MyCol2
FROM (
SELECT MyCol1, MyCol2, ROW_NUMBER() OVER (ORDER BY MyColID) AS RowNum
FROM myTable
) AS TableTmp
WHERE TableTmp.RowNum BETWEEN 100 AND 10000
SELECT MyCol1, MyCol2
FROM (
SELECT MyCol1, MyCol2, ROW_NUMBER() OVER (ORDER BY MyColID) AS RowNum
FROM myTable
) AS TableTmp
WHERE TableTmp.RowNum > 100