选择Top 2 Dates Access DB

时间:2014-12-29 14:47:38

标签: mysql ms-access

您好我正在使用本土培训数据库,我试图从查询中提取前两个日期。
我看过其他帖子,没有运气。我创建了一个临时表,其中包含我想要提取的记录集。该表列出了所有员工的所有不同培训及其考试日期。我需要为每个特定培训提取两个最近的测试日期。每个培训都有一个特定的ID,即使它是同一个培训只是一年不同。任何帮助表示赞赏。谢谢

表格tbl_TEMP包含字段:

Subdepartment
last_name
first_name
employee_id
id
training
test_date
revision
expiration_date
status

2 个答案:

答案 0 :(得分:0)

这将选择2个最近的日期

SELECT TOP 2 TestDate
FROM
    (SELECT DISTINCT TestDate FROM temp)
ORDER BY TestDate DESC;

根据您的评论,我们了解您并不只想要日期,而是所有具有这些日期的记录。因此,请使用日期查询IN (subquery) where子句:

SELECT *
FROM temp
WHERE
    TestDate IN (
        SELECT TOP 2 TestDate
        FROM
            (SELECT DISTINCT TestDate FROM temp)
        ORDER BY TestDate DESC;
    )

答案 1 :(得分:0)

要选择最近的日期,请打开一个新查询,转到SQL视图并编写如下内容:

SELECT TOP 2 Table1.Daterc,Table1.training 从表1 GROUP BY Table1.Daterc,Table1.training ORDER BY Table1.Daterc DESC;

“Table1”是表格的名称,“Daterc”是日期栏,“training”是培训栏。如果日期是唯一的,您将不需要GROP BY句子。我希望这会对你有所帮助。