我试图将一组中的前三名表演者拉下来。我不确定如何在Access中执行此操作,我需要的是每个组都能获得前三名。
http://allenbrowne.com/subquery-01.html
我已经尝试过这些子查询,但是他们给了我一条错误信息。有一个更好的方法吗?
这是关键字效果。
表格字段是
Keyword | Campaign | Ad Group | Clicks | Impressions
我希望每个广告组的点击次数排在前3位。我也想获得前3个展示次数,但一旦我知道如何点击,我就可以根据需要进行修改。 我想要像
一样Ad Group 1 - First Top
Ad Group 1 - Second Top
Ad Group 1 - Third Top
Ad Group 2 - First Top
Ad Group 2 - Second Top
Ad Group 2 - Third Top
etc
SELECT KeywordReport.ID, KeywordReport.Campaign, KeywordReport.[Ad group], KeywordReport.Keyword, KeywordReport.Clicks, KeywordReport.Impressions, KeywordReport.[Avg CPC], KeywordReport.[Search Impr share], KeywordReport.Cost
FROM KeywordReport
WHERE (((KeywordReport.ID) In (SELECT TOP 3 ID
FROM KeywordReport AS Dupe
WHERE Dupe.ID = KeywordReport.ID
ORDER BY Dupe.Clicks DESC)))
ORDER BY KeywordReport.[Ad group];
它返回的所有条目都不是前三名。
答案 0 :(得分:0)
我认为你很亲密:
WHERE (((KeywordReport.ID) In (SELECT TOP 3 ID
FROM KeywordReport AS Dupe
WHERE Dupe.[Ad Group] = KeywordReport.[Ad Group] <-- change this line
ORDER BY Dupe.Clicks DESC)))