SQL查询组按帮助

1 sql sql-server sql-server-2005

我有以下数据:

cust  subject  date
Cust1 Subject1 2010-12-31 21:59:59.000
Cust1 Subject1 2010-12-31 21:59:59.000
Cust4 Subject3 2011-02-27 21:59:59.000
Cust5 Subject1 2010-10-31 21:59:59.000
Cust5 Subject2 2010-10-31 21:59:59.000
Cust6 Subject2 2010-10-31 21:59:59.000
Cust6 Subject2 2010-12-31 21:59:59.000
Run Code Online (Sandbox Code Playgroud)

我需要实现以下目标:

  • 按照cust和subject对它们进行分组
  • 如果有2条记录具有相同的cust和subject,那么我需要返回具有最高日期的记录
  • 如上所述,如果日期相同,则只返回其中的1个.

查询的结果应该是:

cust  subject  date
Cust1 Subject1 2010-12-31 21:59:59.000
Cust4 Subject3 2011-02-27 21:59:59.000
Cust5 Subject1 2010-10-31 21:59:59.000
Cust5 Subject2 2010-10-31 21:59:59.000
Cust6 Subject2 2010-12-31 21:59:59.000
Run Code Online (Sandbox Code Playgroud)

谁能帮我这个?

我设法做了2个要求,但不是全部3个.

Asa*_*aph 5

SELECT cust, subject, max([date]) FROM myTable GROUP BY cust, subject;
Run Code Online (Sandbox Code Playgroud)

你真的没有专栏date,是吗?date是一个保留字,这就是为什么它必须在上面的查询中被方括号包围.

  • Sweet'n'simple - +1!=) (2认同)