MSSQL: selectTop10*จาก [ตาราง] orderbyNewID ()
เข้าถึง:
การคัดลอกรหัสมีดังนี้:
'เพื่อใช้ Rs.Mov
'ถ้าคุณใช้ 10 รายการสุ่ม
n = 10
'ก่อนอื่นเราต้องพิจารณาว่าจำนวนระเบียนทั้งหมดน้อยกว่า 10 หรือไม่ถ้าน้อยกว่า 10 มีจำนวน ifn> 10rs.recordcountthenn = Rs.RecordCountCount
dimrannum
fori = 1ton
สุ่ม ()
rannum = int (rs.recordcount*rnd) +1 'สร้างหมายเลขสุ่ม
Rs.Moverannum ย้ายเคอร์เซอร์ไปยังตำแหน่งตัวเลขสุ่ม
response.writei & "-" & rs ("title") & "<br/>" เนื้อหาเอาท์พุท
Rs.move-Rannum
ต่อไป
-
นี่ก็เพียงพอแล้ว แน่นอนว่าเป็นไปได้ที่จะได้รับการบันทึกซ้ำด้วยวิธีนี้ จากนั้นเปลี่ยนประโยคของการสร้างตัวเลขสุ่มประกาศตัวแปรเพื่อจัดเก็บตัวเลขสุ่มที่ถูกสร้างขึ้นและก่อนอื่นกำหนดว่าจะถูกสร้างขึ้นเมื่อสร้างแรนโดมใหม่ หากมีการสร้างมันจะถูกสร้างใหม่ มันค่อนข้างง่ายคุณสามารถทำได้ด้วยคำแนะนำ ฯลฯ ~
นี่คือความคิดลองคนอื่นด้วยตัวเอง อีกวิธีหนึ่งในการอ่านซ้ำ ๆ คือการสร้างหมายเลขสุ่มเพียงหนึ่งหมายเลขจากนั้นอ่าน N Records ตามหมายเลขสุ่ม แน่นอนคุณต้องเขียนการตัดสินที่ดี หมายเลขสุ่มควรมีขนาดเล็กกว่าจำนวนระเบียนทั้งหมด - จำนวนบันทึกควรอ่าน
การคัดลอกรหัสมีดังนี้:
-
dimn, rannum
n = 10
สุ่ม ()
rannum = rs.recordcount-n
ifrannum <1thenrannum = 1
rannum = int (rannum*rnd) +1
Rs.Overannum
fori = 1to10
response.writei & "-" & rs ("title") & "<br/>" เนื้อหาเอาท์พุท
Rs.Movenext 'อ่านถัดจากมัน
ต่อไป
-
ขอแนะนำให้เขียนฟังก์ชั่นง่าย ๆ เพื่อสร้างและตัดสินตัวเลขสุ่มโดยไม่ต้องทำซ้ำ