Если вы хотите рассчитать только длину последнего периода для последнего города проживания, то это, вероятно, примерно так:
SELECT TOP 1
City_Code,
End_Date - Start_Date AS Days
FROM atable
ORDER BY Start_Date DESC
Но если вы хотите включить все периоды, когда человек жил когда-либов городе, который оказывается последним городом их проживания, тогда это немного сложнее, но не слишком сильно:
SELECT TOP 1
City_Code,
SUM(End_Date - Start_Date) AS Days
FROM atable
GROUP BY City_Code
ORDER BY MAX(Start_Date) DESC
Но приведенное выше решение, скорее всего, возвращает информацию о последнем городе только после того, как вычислитданные для всех городов.Это нам нужно?Не обязательно, поэтому, возможно, нам следует использовать другой подход.Может быть так:
SELECT
City_Code,
SUM(End_Date - Start_Date) AS Days
FROM atable
WHERE City_Code = (SELECT TOP 1 City_Code FROM atable ORDER BY Start_Date DESC)
GROUP BY City_Code