前5个记录组中的MS Access
回报以下的代码中的所有记录: -前5个记录组中的MS Access
SELECT b.BROKERAGE_NAME, q.VAL_DATE
FROM TBLQUOTESNEW q LEFT JOIN TBLBROKERAGESNEW b ON q.BROKERAGE_ID = b.ID
WHERE q.VAL_DATE Is Not Null
是否有可能有前5个记录每个BROKERAGE_NAME
返回,其中VAL_DATE
是降?
包括
Brokerage A 02/10/2017
Brokerage A 02/10/2017
Brokerage A 02/10/2017
Brokerage A 02/10/2017
Brokerage A 01/10/2017
Brokerage B 06/06/2016
排除(如不顶5)
Brokerage A 30/09/2017
SELECT TOP 5
b.BROKERAGE_NAME,
q.VAL_DATE
FROM
TBLQUOTESNEW q
LEFT JOIN
TBLBROKERAGESNEW b
ON q.BROKERAGE_ID = b.ID
WHERE
q.VAL_DATE Is Not Null
GROUP BY
BROKERAGE_NAME
ORDER BY
VAL_DATE DESC`
这不会返回问题中指定的结果。它返回前五名经纪人。不是每个经纪商的前5名VAL_DATE。 – user1936588
这是因为你的样本数据只有经纪人A - 他可能和我做的一样,只是复制你的样本并且使用它。完全忽略了你希望它被经纪人分割。 :) –
@ DarrenBartrup-Cook - 改进的样本数据:) – user1936588
我会使用'SELECT TOP 5'&'ORDER BY VAL_DATE DESC'建议,但只有当你的日期有不同的时间范围时才有效。因为它是2/10/2017将是第一名,并且30/09/2017将是第二名。 –
评论http://allenbrowne.com/subquery-01.html,前n组每个部分 –
可能重复[前n组访问中的每个组sql记录](https://stackoverflow.com/questions/41220690/top -n-records-per-group-sql-in-access) –