สุ่มหาผู้โชคดีด้วย Rand()

ความสามารถของคำสั่ง SQL มีเยอะจริง ๆ เลยขอคัดเอาคำสั่งที่คิดว่าน่าจะมีประโยชน์กับผู้อ่านมากที่สุด วันนี้มีอีกฟังก์ชันที่น่าสนใจ นั่นก็คือฟังก์ชัน RAND() แปลตรงตัวเลย ก็คือการสุ่มนั่นเอง มาดูตัวอย่างกันเลย

สมมติต้องการสุ่มหาพนักงานผู้โชคดี 1 คน ที่จะได้รับสร้อยคำทองคำหนึ่งเส้น เขียนคำสั่งได้ดังนี้

SELECT * FROM employee ORDER BY RAND() LIMIT 1;

อธิบายเพิ่มเติม ในคำสั่งนี้เราจะใช้คำสั่ง ORDER BY และ LIMIT มาร่วมด้วยซึ่งได้อธิบายไปแล้วใบบทความก่อนหน้านี้ แต่พระเอกของเราจริง ๆ ก็คือ RAND() แต่อธิบายอีกรอบก็ได้ ORDER BY RAND() คือการสุ่มแล้วจัดเรียงลำดับ และจำกัดแค่ 1 คนเท่านั้น ซึ่งก็จะใช้คำสั่ง LIMIT 1 มาช่วย ผู้อ่านลองนำไปประยุกต์กับงานอื่น ๆ ได้ เช่น ต้องการสุ่มข้อสอบออกมา สุ่มหาตัวเลขต่าง ๆ ก็ได้ จะสังเกตุว่าจะมีเครื่องหมาย () ลงท้าย เพราะหมายถึงการเรียกใช้ฟังก์ชันนั่นเอง