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, ColName2

Note: using PARTITION BY ColName1 is optional