2010-10-22 68 views

回答

12

用途:

WITH sample AS (
SELECT t.*, 
     ROW_NUMBER() OVER (PARTITION BY t.state 
           ORDER BY NEWID()) AS rank 
    FROM ZIPCODES t) 
SELECT s.* 
    FROM sample s 
WHERE s.rank <= 5 
+0

這很有效。下一個問題 - 如果有機會我需要把它移植到MySQL - 有沒有一種更普遍兼容的方式來形成查詢? – Chris 2010-10-22 16:25:28

+0

@Chris:不是 - MySQL沒有分析/排名功能支持。 – 2010-10-22 16:33:31

0
SELECT * FROM ZipCodes ORDER BY NEWID() 
+1

是啊,我知道newid的。我的問題是如何爲每個州提供隨機記錄。 – Chris 2010-10-22 16:07:20

相關問題