If this:
SELECT * FROM Table WHERE Date=( SELECT MAX(Date) FROM Table )
returns newest record from the table, how
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.