Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server:随机选择每种类型的行_Sql Server - Fatal编程技术网

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;

非常感谢。正是我需要的