我在 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 条记录的日期始终为空,那么有没有办法进行求和并使用不为空的日期?
谢谢
最佳答案
要按客户分组,您必须从 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
关于sql-server-2008 - 使用 Null 进行分组 T-SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11527398/