![](/img/trans.png)
[英]Select 40 most recent sales from each neighborhood group MS Access SQL
[英]Select 40 most recent sales from each neighborhood group MS Access SQL where ID isn't necessarily distinct
我有一个名为Sales的表,其中有PARID, PRICE, SALEDT, SALEVAL
和NBHD
列。 我需要每个NBHD
都有40个最新SALEDT
的NBHD
。 PARID
唯一标识一个属性,但每个PARID
可能有多个销售。 如果我的前40名将给我两行具有相同的PARID
,那么我只想要具有最新SALEDT
。 在此先感谢您的帮助。
考虑一个相关计数聚合子查询来对每个NBHD的 SalesDT进行排序 ,然后在外部查询过滤器中对小于或等于40的排名进行排序 :
SELECT main.NBHD, main.PARID, main.PRICE, main.SALEDT, main.SALEVAL
FROM
(SELECT t.NBHD, t.PARID, t.PRICE, t.SALEDT, t.SALEVAL,
(SELECT COUNT(*) FROM mytable sub
WHERE sub.NBHD = t.NBHD
AND sub.SALEDT >= t.SALEDT) AS rank
FROM mytable t) AS main
WHERE main.rank <= 40
ORDER NBHD, PARID, SALEDT DESC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.