我有一个表项目。
它具有以下列:
项目ID,projectName,UpdateTime
表中的数据如下:
Project ID projectName UpdateTime
1 abc 12-2-2009 01:10:00
1 abc 12-2-2009 04:18:00
2 xyz 17-7-2009 08:45:00
2 xyz 17-7-2009 12:21:00
我希望结果集根据更新时间显示最新的更新项目信息。
对于上面的例子,它应该显示
Project ID projectName UpdateTime
2 xyz 17-7-2009 12:21:00
1 abc 12-2-2009 04:18:00
答案 0 :(得分:1)
这应该做的工作(编辑以反映@Remou指出我在原始问题中没有注意到的信息):
SELECT [Project ID], ProjectName, Max(UpdateTime)
FROM Project
GROUP BY [Project ID], ProjectName
ORDER BY Max(UpdateTime) DESC
如果不这样做,要么我犯了错误,要么你的问题中没有其他信息。
答案 1 :(得分:0)
SELECT P.[Project ID]
, P.projectName
, Max(P.UpdateTime) AS [Latest Update Time]
FROM Project AS P
GROUP BY P.[Project ID]
, P.projectName
ORDER BY Max(P.UpdateTime) DESC;
答案 2 :(得分:0)
我有一个答案,它使用查询的图形界面,这可能很容易实现。假设所有3个字段都包含在一个表中。单击"创建"创建新查询。然后"查询设计"。右键单击打开的图形界面的上半部分,然后单击"显示表"选择包含这三个字段的表,然后双击每个字段,一次一个,以便它显示在下部。如果您有自动编号字段,请确保不将其包含在下部,因为这将导致显示所有表记录。查询中包含的任何其他字段可能具有相同的不期望结果。接下来,在您的功能区上单击" DESIGN"然后点击" Totals"图标。关注你的"更新时间"下部的字段。改变" Group By"到" Max"通过单击该字段并从下拉列表中进行选择。不要对其他两个字段进行任何更改。保存查询并在数据表视图中打开它(通过单击" HOME","查看","数据表视图"
执行此操作您应该获得所需的结果。请告诉我这是否适用于您。
聚苯乙烯。项目名称中的拼写错误也会给您带来不准确的结果。为了减少这种可能出现问题的可能性,您的用户可以从具有项目名称下拉列表的组合框中选择项目名称。当用户从下拉列表中选择项目ID时,也可以设计一种方法来自动输入项目名称。
答案 3 :(得分:0)
我不确定为什么每个人似乎都希望对这些项目进行分组。这个问题似乎只是要求以UpdateTime的降序显示结果 SELECT * FROM Project 按UpdateTime DESC排序
我还注意到,在他的例子中,他预期的结果是按项目ID和项目名称分组的记录,在这种情况下,@ David-W-Fenton提供的答案必须足够。
总之,他应该更清楚地问他的问题。