ms-access中的sql

ms-access中的sql,sql,ms-access,Sql,Ms Access,我有一个表名customers,有两列,case id和owner。我需要编写一个查询,为“所有者”列中的每个姓名随机选择5个caseid。请帮助开始,您需要以下内容: SELECT TOP 5 ID, [Case ID], [Owner], Rnd(-Timer()*[ID]) AS RandomRecord FROM [Cases] ORDER BY Rnd(-Timer()*[ID]); 用作根据所有者表的OwnerID筛选的子查

我有一个表名customers,有两列,case id和owner。我需要编写一个查询,为“所有者”列中的每个姓名随机选择5个caseid。请帮助开始,您需要以下内容:

SELECT TOP 5
    ID, 
    [Case ID], 
    [Owner], 
    Rnd(-Timer()*[ID]) AS RandomRecord
FROM 
    [Cases]
ORDER BY 
    Rnd(-Timer()*[ID]);
用作根据所有者表的OwnerID筛选的子查询

我曾经发表过一篇关于这方面的文章,其中有很多细节:


您可以在中使用

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])
              );

StackOverflow不是代码编写服务。请通读,特别是如果您遇到了一个特定的问题,请进行彻底的研究,在这里进行彻底的搜索,如果您仍然被困,请发布您的代码和问题的描述。另外,记住要包括。当你点击创建这篇文章时,按钮上写着“提问”,人们会很乐意为你提供帮助。但“我想要”或“我需要”不是一个问题。我们将帮助您修复bug。一般来说,这里的大多数人不会完全为你工作,除非是琐事。你做了什么研究?你试过什么代码?你面临什么问题?请阅读更多关于如何提出有用问题的指导。谢谢。我不是落选者,很抱歉我直截了当的表达方式。@ErikvonAsmuth。没问题。你无疑是对的。让我感到困扰的是,微软总体上似乎不了解易失性函数和查询优化。您好,当我使用这段代码时,它给了我一个输入字段,并要求输入一些内容,首先是t2名称,然后是t1名称,您能详细解释一下吗it@chiragpuri . . . 此查询中没有
t1.name
t
代表您的表名。