Sql 选择每个唯一用户的50%行
这就是我的桌子的样子Sql 选择每个唯一用户的50%行,sql,ms-access,Sql,Ms Access,这就是我的桌子的样子 Id | User | TestedGame | GameBuildID | TestType |TDate 1| Chan | Game One | GBI010115 | Maps | 01-02-2015 2| TedD | Game two | GBI010615 | Maps | 01-22-2015 3| Chan | Game One | GBI010315 | Maps | 01-12-2015 4| John | Game thr | GBI010
Id | User | TestedGame | GameBuildID | TestType |TDate
1| Chan | Game One | GBI010115 | Maps | 01-02-2015
2| TedD | Game two | GBI010615 | Maps | 01-22-2015
3| Chan | Game One | GBI010315 | Maps | 01-12-2015
4| John | Game thr | GBI010715 | Grap | 01-02-2015
5| Chan | Game two | GBI010415 | Maps | 01-07-2015
6| Samy | Game thr | GBI010115 | Grap | 01-02-2015
表的行数为1000行。我希望字段名是不言自明的。这是一张记录测试游戏的表格。将保存构建id、测试的游戏部分、游戏名称、测试类型和测试日期。ID是唯一的,并且是主键
该表保存在accdb文件中
问题:
如何选择每个用户50%的测试
SQL
我正在以access查询的形式运行sql
编辑:
相关问题:
尝试类似以下air代码的子查询: 从Id所在的表中选择User、Id、TestedGame、testtype、GameBuildID、Tdate 从表中选择前50%的P.Id作为P,其中P.User=Table.User,Tdate>01-01-2015,Tdate<31-01-2015,由rndId订购
发布您的预期输出。@selvats编辑的正文
SELECT TOP 50 PERCENT User, Id, TestedGame, testtype, GameBuildID, Tdate FROM Table Where Tdate >#01-01-2015# and Tdate < #31-01-2015# ORDER BY rnd(Id)
50% of Userone's rows
50% of User two's rows
.
.
.
50% of nth user's rows