使用Nulls T-SQL进行分组

时间:2012-07-17 17:07:14

标签: sql-server-2008 tsql grouping

我在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

有没有办法在这个场景中添加杰克的债务(1400)并显示非空日期,即06/06/2012。

一个人最多只能有2条记录,而且1条记录的日期始终为空,那么有没有办法进行求和并使用非空的日期?

由于

1 个答案:

答案 0 :(得分:4)

要按客户分组,您必须从GROUP BY中移除iddate

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