ID- DATE- NAME 10100- 2010/04/17- Name1 10100- 2010/04/14- Name2 10200- 2010/04/17- Name3 10200- 2010/04/16- Name4 10200- 2010/04/15- Name5 10400- 2010/04/01- Name6
我在一个表中有这些字段(以及其他字段)。我需要进行一个查询,该查询返回带有您的相应名称的ID,其中最近的日期例如该数据示例中所需查询的结果将是。
10100- 2010/04/17- Name1 10200- 2010/04/17- Name3 10400- 2010/04/01- Name6
使用旧日期发现ID。
然后我需要一个查询。感谢。
答案 0 :(得分:2)
而是尝试像
这样的东西SELECT table1.*
FROM Table1 INNER JOIN
(
SELECT Table1.ID, Max(Table1.Date) AS MaxOfDate
FROM Table1
GROUP BY Table1.ID) sub ON Table1.ID = sub.ID and Table1.Date = sub.MaxOfDate
如果这不仅仅是一个示例,您可能还想更改列名称,因为它们是reserved words。
答案 1 :(得分:2)
SELECT ID, Date, Name
FROM myTable
INNER JOIN (SELECT ID, Max(Date) AS MaxDate FROM myTable GROUP BY ID) myTable2
ON myTable.ID = myTable2.ID
WHERE myTable.Date = myTable2.MaxDate
注意:这是在没有尝试的情况下编写的。所以,请善待:)