Randomly Sorting Query Results
查詢結(jié)果隨機(jī)排序
Q. How can I randomly sort query results?
問(wèn):怎樣才能對(duì)查詢結(jié)果隨機(jī)排序?
A. To randomly order rows, or to return x number of randomly chosen rows,
you can use the RAND function inside the SELECT statement.
But the RAND function is resolved only once for the entire query,
so every row will get same value.
You can use an ORDER BY clause to sort the rows by the result from the NEWID function,
as the following code shows:
答:對(duì)結(jié)果記錄隨機(jī)排序,或隨機(jī)返回X條記錄,可以通過(guò)在SELECT語(yǔ)句中使用RAND函數(shù)來(lái)實(shí)現(xiàn)。但是RAND函數(shù)在查詢中只生成一次,因此每一行都將得到相同的值。可以通過(guò)在ORDER BY子句中使用NEWID函數(shù)來(lái)對(duì)結(jié)果進(jìn)行排序的方法來(lái)實(shí)現(xiàn),代碼如下:
SELECT *
FROM Northwind..Orders
ORDER BY NEWID()
SELECT TOP 10 *
FROM Northwind..Orders
ORDER BY NEWID()