Это то, что вы ищете?
concat(userId, locationId, '_',
row_number() over (partition by userId, locationId order by userId)
) as column
Указывает произвольный порядок. Вы можете заменить выражение order by
другим столбцом, если есть другой столбец, в котором указан требуемый порядок.