Sql server SQL Server:随机选择每种类型的行
我有以下表格:Sql server SQL Server:随机选择每种类型的行,sql-server,Sql Server,我有以下表格: id | customer | type ---+----------+------ 1 | Joe | 5 2 | Sally | 3 3 | Joe | 2 4 | Sally | 1 5 | Bob | 5 6 | Clark | 5 7 | Daniel | 1 8 | Mike | 3 以及以下数据: count | type ------+------ 2 | 5 1 | 1
id | customer | type
---+----------+------
1 | Joe | 5
2 | Sally | 3
3 | Joe | 2
4 | Sally | 1
5 | Bob | 5
6 | Clark | 5
7 | Daniel | 1
8 | Mike | 3
以及以下数据:
count | type
------+------
2 | 5
1 | 1
1 | 3
或者只是阵列:
(5, 5, 1, 3)
我需要在一个请求中随机选择2个5类的唯一客户、1个1类的客户和1个3类的客户这与juergen的方法类似,但它适用于任何类型的配置
select t1.id
from
(
select c.id,
t.count,
row_number () over (partition by t.type order by newid()) as rn
from customerTable c join typeTable t on c.type = t.type) as t1
where t1.rn <= t1.count;
非常感谢。正是我需要的