0 sql t-sql sql-server random selection
对于审计项目,需要为每个员工随机选择三个跟踪 ID,并且不能重复。想知道是否可以用 SQL 实现?
SQL Server 数据示例:
| 联系 | 跟踪号码 |
|---|---|
| 史密斯,玛丽 | TRK65152 |
| 史密斯,玛丽 | TRK74183 |
| 史密斯,玛丽 | TRK35154 |
| 史密斯,玛丽 | TRK23117 |
| 史密斯,玛丽 | TRK11889 |
| 琼斯、沃尔特 | TRK17364 |
| 琼斯、沃尔特 | TRK91736 |
| 琼斯、沃尔特 | TRK88234 |
| 琼斯、沃尔特 | TRK80012 |
| 琼斯、沃尔特 | TRK55874 |
| 托尼·威廉姆斯 | TRK58142 |
| 托尼·威廉姆斯 | TRK47336 |
| 托尼·威廉姆斯 | TRK13254 |
| 托尼·威廉姆斯 | TRK28596 |
| 托尼·威廉姆斯 | TRK33371 |
您可以ROW_NUMBER在此处使用随机排序:
WITH cte AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY Associate ORDER BY NEWID()) rn
FROM yourTable
)
SELECT Associate, TrackingID
FROM cte
WHERE rn <= 3;
Run Code Online (Sandbox Code Playgroud)