LAST_VALUE
Always returns a column from the last record within the window (aka always the current record). You don’t need to use this, just use FIRST_VALUE instead and invert the order by if you want the actual last value.
SELECT
ColName1,
ColName2,
ColName3,
LAST_VALUE(ColName1) OVER (PARTITION BY ColName1 ORDER BY ColName1, ColName2) AS lv
FROM SchemaName.TableName
ORDER BY ColName1, ColName2Note: using PARTITION BY ColName1 is optional