【发布时间】:2011-12-15 03:29:13
【问题描述】:
我正在尝试创建一个返回 MAX 存款总额的帐户名称的查询。存款可以每天添加,但总和是每月。
2 个表:
帐户(ID、名称)
存款(ID、日期、存款)
我需要获取当月存款金额最大的账户名称。
例如:
帐户
1 名称1
2 名称2
3 名称3
4 名称4
存款
1 12 2010-01-01
1 13 2010-01-02
2 30 2010-02-02
3 15 2010-02-02
4 10 2010-02-03
1 30 2010-02-02
结果应该是 Name1。
到目前为止,我创建了一个查询,该查询返回一个表,其中包含每个帐户每个月的总和:
SELECT *
FROM
(
SELECT SUM(Deposits.deposit) as SumMonth , Deposits.account_id as Id
FROM Deposits
GROUP BY Deposits.account_id, MONTH(Deposits.Date)
)
as A INNER JOIN Accounts ON Accounts.id = A.Id
这是查询返回:
25 1 1 姓名1
30 1 1 姓名1
30 2 2 姓名2
15 3 3 姓名3
10 4 4 姓名4
有什么想法吗??
【问题讨论】:
-
您的结果有两行
SumMonth = 30 = max。为什么结果应该只有Name1? -
@BogdanSahlean - 发送您的评论,没错,但在值相等的情况下显示哪个名称没有任何意义。
标签: sql sql-server