Sql 2005从一组数据中获取最新条目

时间:2010-08-31 16:08:26

标签: sql tsql

问题:

我有一组数据可以跟踪客户之间的通信历史。因此每个客户都有自己的活动历史记录(笔记,电子邮件等)。我需要从每个客户的活动历史记录中获取最新条目,其中每一行都是客户活动的最新条目。因此,每一行在客户端ID 上都是唯一的,我们可以调用每个活动“description”

每个活动都有一个日期,还有一些其他术语,如主题,身体。

活动表

activityid  |  clientid  |  subject  |  body  |  datemodified

谢谢!

4 个答案:

答案 0 :(得分:0)

你并没有给我们太多的帮助,但这是一个黑暗的镜头:

SELECT ClientId, body, MAX(DateModified)
FROM Activity
GROUP BY ClientId, body

答案 1 :(得分:0)

SELECT ClientId, Body, MAX(DateModified)
  FROM Activity
 GROUP
    BY ClientId, Body;

答案 2 :(得分:0)

假设SQL Server 2005 +

;with cte AS
(
SELECT activityid, clientid, subject, body, datemodified,
ROW_NUMBER() OVER (PARTITION BY clientid ORDER BY datemodified DESC) AS RN
FROM Activity
)
SELECT activityid, clientid, subject, body, datemodified
 FROM cte
 WHERE RN=1

答案 3 :(得分:0)

假设您要求的是每个客户的最后输入行您可以使用这样的句子:

SELECT activityid, clientid, subject, body, datemodified
FROM Activity as ac
WHERE datemodified=(
    SELECT max(datemodified)
    FROM Activity
    WHERE cleintid=ac.clientid
)