就是要取p_id 不同的记录的它们各自的最新记录所组成的记录集 如下: p_id name date 1 小王 2001-1-1 1 小张 2001-1-3 2 小刘 2001-1-1 2 小陈 2001-1-4我现在要用SQL取出第二条和第四条,因为这是最后的各个p_id的记录
先做一个查询,选出日期和p_id 查询如下 SELECT Max(表1.date) AS date之Max, 表1.p_id FROM 表1 GROUP BY 表1.p_id;再做一个查询 和表1关联 如下 SELECT 表1.* FROM 表1 INNER JOIN 查询1 ON 表1.date = 查询1.date之Max;不过我觉得方法不太好,需要一个查询,我只能想到这点了.
SELECT * FROM [uTable] WHERE [uTable].[Date] = (SELECT MAX(T.[date]) FROM [uTable] AS T WHERE T.[p_id] =[uTable].[p_id] GROUP BY T.[p_id])
如下:
p_id name date
1 小王 2001-1-1
1 小张 2001-1-3
2 小刘 2001-1-1
2 小陈 2001-1-4我现在要用SQL取出第二条和第四条,因为这是最后的各个p_id的记录
查询如下
SELECT Max(表1.date) AS date之Max, 表1.p_id
FROM 表1
GROUP BY 表1.p_id;再做一个查询
和表1关联
如下
SELECT 表1.*
FROM 表1 INNER JOIN 查询1 ON 表1.date = 查询1.date之Max;不过我觉得方法不太好,需要一个查询,我只能想到这点了.
FROM [uTable]
WHERE [uTable].[Date] = (SELECT MAX(T.[date])
FROM [uTable] AS T
WHERE T.[p_id] =[uTable].[p_id]
GROUP BY T.[p_id])