Seems simple enough:
SELECT
(SELECT TOP 1 total FROM yourTable ORDER BY date DESC) As lastValue,
(SELECT Max(total) FROM yourTable) As maxValue
;
EDIT: Option 2 - requires SQL Server 2016 or later:
SELECT TOP 1
LAST_VALUE(total) OVER (ORDER BY date DESC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) As lastValue,
MAX(total) OVER() As maxValue
FROM
yourTable
;
LAST_VALUE (Transact-SQL) - SQL Server | Microsoft Docs[
^]
EDIT: Option 3:
WITH cte As
(
SELECT
total,
ROW_NUMBER() OVER (ORDER BY date DESC) As drn
FROM
yourTable
)
SELECT
MAX(CASE drn WHEN 1 THEN total END) As lastValue,
MAX(total) As maxValue
FROM
cte
;