title: BigQuery, FIRST_VALUE, and null
body: <p>In the following example, I would have expected the results</p>
  
  <pre><code>Row    a    b    f0_     
  1    1    1    3     
  2    1    2    3     
  3    1    3    5     
  4    1    4    5     
  5    1    5    null
  </code></pre>
  
  <p>because, in general, aggregates tend to ignore nulls.  If <code>FIRST_VALUE</code> doesn't ignore nulls, what value does it have over using <code>LEAD</code>  </p>
  
  <p>Example:</p>
  
  <pre><code>select a, b, first_value(c) over (partition by a order by b asc rows BETWEEN 1 following AND UNBOUNDED FOLLOWING)
  from 
  (select 1 as a, 1 as b, 1 as c),
  (select 1 as a, 2 as b, null as c),
  (select 1 as a, 3 as b, 3 as c),
  (select 1 as a, 4 as b, null as c),
  (select 1 as a, 5 as b, 5 as c),
  </code></pre>
  
  <p>gives</p>
  
  <pre><code>Row    a    b    f0_     
  1    1    1    null     
  2    1    2    3     
  3    1    3    null     
  4    1    4    5     
  5    1    5    5  
  </code></pre>