繁体   English   中英

SQL Select记录的最新日期

[英]SQL Select record with the most recent date

我想从INNER JOINED表中选择具有最新日期的记录。

Select table1.field1, table2.field1 
FROM table1
INNER JOIN table2
ON table1.field1 = table2.field1
WHERE table1.field2 = table2.field2 AND most recent date

如何在SQL中做到这一点?

Select table1.field1, t2.field1 
FROM table1
INNER JOIN 
(
   select field1, max(field2) as mdate
   from table2
   group by field1
) t2
ON table1.field1 = t2.field1 and table1.field2 = t2.mdate

您需要按日期排序的TOP 1记录(降序排列)

Select TOP 1 table1.field1, table2.field1 
FROM table1
INNER JOIN table2
ON table1.field1 = table2.field1
WHERE table1.field2 = table2.field2
ORDER BY date DESC

如果table2.field1不是唯一字段,则可能不是您所需要的。

假设您的table1包含一个名为date_created的字段

尝试这个

Select table1.field1, table2.field1 
FROM table1
INNER JOIN table2
ON table1.field1 = table2.field1
WHERE table1.field2 = table2.field2 AND table1.date_created between '2012-03-18' and '2013-03-18'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM