SQL Server - 每个状态提取X个随机记录

Chr*_*ris 10 sql t-sql sql-server sql-server-2005 greatest-n-per-group

我有一张表,其中包含美国每个邮政编码的记录.为了在地图上显示,我需要为每个州选择X个随机记录.我该怎么做呢?

OMG*_*ies 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
Run Code Online (Sandbox Code Playgroud)