gpt4 book ai didi

sql - 选择每个客户最近的购买

转载 作者:行者123 更新时间:2023-12-02 01:57:09 25 4
gpt4 key购买 nike

在 Microsoft Access 2010 中,我想运行一个查询,该查询仅列出每个客户最近购买的商品。这是我到目前为止的 SQL:

SELECT ClientNumber, DateOfPurchase  
FROM ordersTable WHERE ClientNumber IN (
SELECT MAX(DateOfPurchase)
FROM ordersTable
GROUP BY ClientNumber
);

问题是这个查询没有返回任何数据,尽管它们是 ordersTable 中的相关数据。如何更改上面的代码以使其正常工作?

最佳答案

通常,您可以通过将表与自身连接来解决此问题:

SELECT o.ClientNumber, o.DateOfPurchase  
FROM ordersTable o JOIN (
SELECT MAX(DateOfPurchase) as MaxDateOfPurchase, ClientNumber
FROM ordersTable
GROUP BY ClientNumber
) t ON o.ClientNumber = t.ClientNumber AND o.DateOfPurchase = t.MaxDateOfPurchase

话虽如此,如果您没有选择任何其他字段,子查询将自行工作:
SELECT MAX(DateOfPurchase) as MaxDateOfPurchase, ClientNumber
FROM ordersTable
GROUP BY ClientNumber

编辑,假设您使用的是 MS Access,您可能需要关键字 AS为列设置别名时。

关于sql - 选择每个客户最近的购买,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19371877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com