[英]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.