2

我的 SQL 查询有这个问题(SQL Server 2008)

SELECT id, client, SUM(debt), date
FROM Table GROUP BY id, client, date

从查询返回的是

id client debt date
1  jim x  500  05/05/2012
2  jack a 900  06/06/2012
2  jack a 500  null

有没有办法在这种情况下添加 Jack a 的债务 (1400) 并显示非空日期,即 06/06/2012。

一个人最多只能有 2 条记录,并且 1 条记录始终为空日期,所以有没有办法求和并使用不为空的日期?

谢谢

4

1 回答 1

4

要按客户分组,您必须从您的 GROUP BY中删除id和删除:date

SELECT
    MAX(id) AS newest_id,    -- or MIN(id) if you prefer
    client,
    SUM(debt) AS total_debt,
    MAX(date) AS most_recent -- or MIN(date) if you prefer
FROM YourTable
GROUP BY client
于 2012-07-17T17:08:50.287 回答