เขียน 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 ที่แตกต่างกัน ลองนำไปใช้ดูครับ

Add a Comment