Каково практическое использование FIRST_VALUE и LAST_VALUE в SQL Server 2012 (кодовое имя: Denali) CTP 3 - PullRequest
2 голосов
/ 19 июля 2011

С выпуском Denali CTP 3 у нас есть больше аналитических функций, из которых меня интересуют две:

a) First_Value
b) Last_Value

Я понял, что FIRST_VALUE возвращает первое значение, основанное на разделе и порядке по выражению, в то время как Last_Value возвращает последнее значение, основанное на разделе и порядке по выражению.

Но в практической ситуации они будутбыть полезным?Пример ситуации в реальном времени поможет мне понять это.

1 Ответ

5 голосов
/ 19 июля 2011

Эти функции могут помочь вам получить другую информацию из набора результатов без использования сложных самостоятельных объединений, производных таблиц и т. Д. Например, предположим, у вас есть двадцать сообщений на форуме в таблице, и вы хотите знать, кто запустил цепочку,и кто разместил последний ответ.Они упорядочены по дате / времени, поэтому, хотя MIN () и MAX () могут помочь вам определить , когда произошли первые и последние сообщения, они не могут сказать вам, кем были эти авторы, если вы не вышли иполучил эту дополнительную информацию как-то.Даже это может быть сложно - например, если у вас нет столбца с естественным или искусственным ключом (вы можете присоединиться к столбцу идентификаторов), у вас может возникнуть желание присоединиться к значениям даты / времени, которые не гарантируют, что они будут уникальными....

...