WINDOW FUNCTION FIRST_VALUE

description

FIRST_VALUE() 返回窗口范围内的第一个值。

  1. FIRST_VALUE(expr) OVER(partition_by_clause order_by_clause [window_clause])

example

我们有如下数据

  1. select name, country, greeting from mail_merge;
  2. | name | country | greeting |
  3. |---------|---------|--------------|
  4. | Pete | USA | Hello |
  5. | John | USA | Hi |
  6. | Boris | Germany | Guten tag |
  7. | Michael | Germany | Guten morgen |
  8. | Bjorn | Sweden | Hej |
  9. | Mats | Sweden | Tja |

使用 FIRST_VALUE(),根据 country 分组,返回每个分组中第一个 greeting 的值:

  1. select country, name,
  2. first_value(greeting)
  3. over (partition by country order by name, greeting) as greeting from mail_merge;
  4. | country | name | greeting |
  5. |---------|---------|-----------|
  6. | Germany | Boris | Guten tag |
  7. | Germany | Michael | Guten tag |
  8. | Sweden | Bjorn | Hej |
  9. | Sweden | Mats | Hej |
  10. | USA | John | Hi |
  11. | USA | Pete | Hi |

keywords

  1. WINDOW,FUNCTION,FIRST_VALUE