对于我的具体情况,n = 4,但可能有一天需要n = 5或n = 6。我的查询在每个名称的'n'行上的一列中显示'n'最近的日期。我想为每个名称的'n'近期日期列
我需要的顶级描述:我有一个表格,它允许我将名称和日期添加到跳转日志中。我需要构建一个查询,为每个跳线显示四个最近的跳转,并为每个日期显示一列。 JUMPID,名称,日期:
我的形式,其中有3个字段中的“跳转”表存储的数据。样本数据是这样的:
JUMPID NAME DATE
1 Joe 01-Jul-16
2 Joe 15-Jul-16
3 Adam 15-Jul-16
4 Joe 26-Jul-16
5 Ryan 28-Jul-16
6 Adam 02-Aug-16
7 Joe 10-Aug-16
8 Adam 10-Aug-16
9 Joe 12-Aug-16
10 Mike 19-Aug-16
11 Joe 19-Aug-16
12 Mike 19-Aug-16
13 Dave 19-Aug-16
14 Ryan 23-Aug-16
我现在使用该查询返回每个跳线4个最近的跳跃,但存储所有在同一列的日期。查询是:
Select NAME, [DATE]
From [JUMP]
Where DATE In
(Select Top 4 [DATE]
From [JUMP] jum
Where [JUMP].[NAME] = jum.[NAME]
Order By jum.[DATE] DESC;)
Order By NAME, [DATE] DESC;
从该查询输出显示如下:
NAME DATE
Adam 10-Aug-16
Adam 02-Aug-16
Adam 15-Jul-16
Dave 19-Aug-16
Joe 19-Aug-16
Joe 12-Aug-16
Joe 10-Aug-16
Joe 26-Jul-16
Mike 19-Aug-16
Mike 19-Aug-16
Ryan 23-Aug-16
Ryan 28-Jul-16
我要的是这4个最近跳转到每个人都有自己列,例如:
NAME RECENT1 RECENT2 RECENT3 RECENT4
Adam 10-Aug-16 02-Aug-16 15-Jul-16
Dave 19-Aug-16
Joe 19-Aug-16 12-Aug-16 10-Aug-16 26-Jul-16
Mike 19-Aug-16 19-Aug-16
Ryan 23-Aug-16 28-Jul-16
重复日期都很好,一样可以跳在一天内跳超过一次。对于跳转次数少于4次的跳线,空或空字段适用于日期。
我已经通过使用谷歌中间得到了一半,这帮助我建立了上面的查询。任何帮助达到我的首选最终状态将非常感激。
我删除了不兼容的数据库标签。请为您真正使用的数据库添加标签。 –
这是在MS Access 2007中使用的,这就是我添加访问标签的原因。我不确定MySQL标签。 – nytewulf97
您需要sql用于数据透视。很多例子可以在这里找到,或者只是搜索一下。 MS Access专门有TRANSFORM – Serg