我有一段时间内客户及其订单的列表,尽管我确信这是一个相对容易的查询,但我目前对此感到空白。老板的错,他已经感染了我的wannagohomealready bug。
该屏幕快照显示了按客户端分组时的记录列表,但是它是按代理和客户端分组的,而我试图按客户端分组并标识最新的代理(当多个代理为一个客户端提供服务时)。 / p>
我尝试了以下代码,但出现“不允许where子句中聚合”错误。
SELECT tbl_RW_AgentBilling.Customer, tbl_RW_AgentBilling.Agent
FROM tbl_RW_AgentBilling
Where tbl_RW_AgentBilling.[OrderDate]=max(tbl_RW_AgentBilling.[OrderDate])
GROUP BY tbl_RW_AgentBilling.Customer, tbl_RW_AgentBilling.Agent;
答案 0 :(得分:0)
使用相关子查询根据每个客户的最大订购日期过滤掉所有未排在最后的行:
SELECT t.customer, t.agent as last_agent
FROM tbl_rw_agentbilling t
WHERE t.orderdate = (SELECT max(orderdate)
FROM tbl_rw_agentbilling t2
WHERE t.customer = t2.customer)
ORDER BY t.customer