我有一个表名Employees,有两列,案例ID和所有者。我需要编写查询以为所有者列中的每个名称随机选择5个caseid。
所有者名称未排序,caseid也唯一。
在这种情况下,还有谁能解释使用分区排名吗?
我尝试了这段代码,但是使用自连接无法正常工作。
select t.*
from t
where t.id in (select top 5 id
from t as t2
where t2.name = t.name
order by Rnd(-Timer()*[ID])
);
答案 0 :(得分:0)
我想您已经在子查询中指定了表:
select t.*
from t
where t.id in (select top 5 t2.id
from t as t2
where t2.name = t.name
order by Rnd(-Timer()*t2.[ID])
);