从MS Access中获取最早月份的所有记录

时间:2017-07-18 17:45:04

标签: sql ms-access

十多年来我没有使用MS访问权限。我查看了各种网站,虽然我可以找到最小和最大的信息,但我找不到这个的答案。

我有两张桌子,一张档案和一张电流。每次运行时,我都需要记录最早的月份记录并将其附加到档案表中,然后从当前表中删除它们。

如果我可以找出select语句来返回最早月份的范围,我可以完成其余的工作。

所以,我需要......

Select * 
From MyTable
Where ????

将其定为最早的月份

order by product_Id

1 个答案:

答案 0 :(得分:1)

以下使用MS Access确实执行top with ties

的事实
select top 1 t.*
from mytable as t
order by datepart("yyyy", datecol) asc, datepart("m", datecol) asc

更典型的方法是inner join

select t.*
from mytable as t inner join
     (select min(datecol) as mindc
      from mytable
     ) as tt
     on datepart("yyyy", t.datecol) = datepart("yyyy", tt.mindc) and
        datepart("m", t.datecol) = datepart("m", tt.mindc);