把不同数据库实现的语句粘在这里,以供参考.
Select a random row with MySQL:
SELECT column FROM table ORDER BY RAND() LIMIT 1
SELECT column FROM table ORDER BY RANDOM() LIMIT 1
Select a random row with PostgreSQL:
SELECT column FROM table ORDER BY RANDOM() LIMIT 1
Select a random row with Microsoft SQL Server:
SELECT TOP 1 column FROM table ORDER BY NEWID()
Select a random row with IBM DB2:
SELECT column, RAND() as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY
Select a random record with Oracle:
SELECT column FROM ( SELECT column FROM table ORDER BY bms_random.value ) WHERE rownum = 1
(Asp)Select a random record with Access:
Randomize()
intRandomNumber = Int(1000 * Rnd) + 1
SELECT top 1 column FROM table order BY Rnd -1 * intRandomNumber * id