How to return second newest record in SQL?

前端 未结 5 1631
情话喂你
情话喂你 2020-12-14 01:57

If this:

SELECT *
FROM Table
WHERE Date=( SELECT MAX(Date)
             FROM Table
           )

returns newest record from the table, how

相关标签:
5条回答
  • 2020-12-14 02:41
    SELECT * 
    FROM Table
    WHERE Date = ( SELECT MAX(Date) 
                   FROM Table
                   WHERE Date < ( SELECT MAX(Date) 
                                  FROM Table
                                )
                 ) ;
    

    or:

    SELECT TOP (1) * 
    FROM Table
    WHERE Date < ( SELECT MAX(Date) 
                   FROM Table
                 ) 
    ORDER BY Date DESC ;
    

    or:

    SELECT *
    FROM
      ( SELECT t.*
             , ROW_NUMBER() OVER(ORDER BY Date DESC) AS RowNumber
        FROM Table t
      ) AS tmp
    WHERE RowNumber = 2 ;
    

    If the Date column has unique values, all three queries will give the same result. If the column can have duplicate dates, then they may give different results (when there are ties in 1st or 2nd place). The first query will even give multiple rows in the result if there are ties in 2nd place.

    0 讨论(0)
  • 2020-12-14 02:41

    select second last date in sql:

     SELECT MAX(YourDateColumn) FROM YourTable where ColumnId=2 and  YourDateColumn <
    (SELECT MAX(YourDateColumn) FROM YourTable where ColumnId=2)
    

    hope helps someone.

    0 讨论(0)
  • 2020-12-14 02:51
    "select TOP (1) * 
     from Table   
     WHERE Date<(SELECT MAX(Date) FROM Table) 
     ORDER BY Date DESC"
    

    should do the trick.

    0 讨论(0)
  • 2020-12-14 02:59

    Try this

    SELECT * 
    FROM Table
    WHERE Date = ( SELECT MAX(Date)  FROM Table
                 WHERE Date < ( SELECT MAX(Date) FROM Table)
             ) ;
    
    0 讨论(0)
  • 2020-12-14 03:00

    Please check this code.

    SELECT * FROM category 
    WHERE Created_Time <(
                         SELECT MAX(Created_Time) 
                         FROM category
                         ) 
    ORDER BY Created_Time DESC 
    LIMIT 1
    

    Prasad.

    0 讨论(0)
提交回复
热议问题