SQL查询“选择活动标记= 1的最新记录”

时间:2019-06-28 16:03:49

标签: sql

我需要有关SQL查询的帮助。我想查询VersionInfo表以提取ActiveFlag = 1的最新记录。

最新记录可能没有activeflag = 1,我不想提取。

在下面的示例中,我希望提取(3456,02/20/2019,1)

示例:

GUID         DATE           Active Flag
-------     -------         -----------  
12345        01/15/2019          1
23455        06/28/2019          0
34564        02/20/2019          1

3 个答案:

答案 0 :(得分:2)

您没有提到最新的“活动”日期有多行时该怎么办,以下查询将返回该日期的所有行:

SELECT GUID, Date
FROM YourTable
WHERE Date = (SELECT MAX(Date) FROM YourTable WHERE active_flag = 1)

HTH

答案 1 :(得分:0)

这是SQL Server特有的另一种方法

SELECT TOP 1
    [GUID]
    , [DATE]
    , [Active Flag]
FROM
    VersionInfo
WHERE
    [Active Flag] = 1 
ORDER BY
    [Date] DESC

答案 2 :(得分:0)

某些数据库支持limit

select * from table_name where active_Flag=1
order by date desc limit 1