December 11, 2015
เขียน SQL ให้ Random ข้อมูลจาก database table
เขียน SQL ให้ Random ข้อมูลจาก database table
บางครั้งที่เราเขียน SQL แล้วต้องการให้มันสุ่ม หรือ Random ข้อมูลออกมา ซึ่งในการเขียนให้มัน random ข้อมูลออกมานั้น ก็ขึ้นอยู่กับ database server ด้วย ดังนั้นบทความนี้เรามาดู Syntax ง่าย ๆ ในการ Random ข้อมูลของแต่ละ database server กันครับ
select random โดยใช้ MySQL
SELECT column FROM table
ORDER BY RAND()
LIMIT 1
select random โดยใช้ PostgreSQL
SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1
select random โดยใช้ Microsoft SQL Server
SELECT TOP 1 column FROM table
ORDER BY NEWID()
select random โดยใช้ IBM DB2
SELECT column, RAND() as IDX
FROM table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
select random โดยใช้ Oracle
SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
จะเห็นว่าแต่ละ database server ก็จะมีการใช้ syntax ที่แตกต่างกัน ลองนำไปใช้ดูครับ