我几天来一直在学校项目中工作,并且选择了在DVD俱乐部数据库上工作。我有六张桌子,但对于这个问题,只有两个是相关的。客户表和贷款表。所以,我想要做的是计算每一个客户到目前为止他所获得的贷款数量,以及最多的贷款数量,以便他可以在下个月获得免费DVD。这是我写的代码,但它不挑特定的客户端,它表明具有特定客户的贷款的最大数量的所有客户端:在特定列中选择具有最大值的行,SQL Server
SELECT tblClients.Client_ID, MAX(x.Number_Of_Loans) AS MAX_NOL
FROM
(
SELECT COUNT(tblLoans.Client_ID) AS Number_Of_Loans
FROM tblClients, tblLoans WHERE tblClients.Client_ID=tblLoans.Client_ID
GROUP BY tblLoans.Client_ID
)x, tblClients, tblLoans
WHERE tblClients.Client_ID=tblLoans.Client_ID
GROUP BY tblClients.Client_ID, tblClients.Given_Name,
tblClients.Family_Name, tblClients.Phone, tblClients.Address, tblClients.Town_ID
哇,非常感谢,我刚刚更改GROUP BY到tblClients.Client_ID,因为我得到一个错误。 – AIV
谢谢。我已经注意到并修改了查询:) – Madhivanan