title: SQL take lowest non zero value per group
body: <p>I have data that looks like the following:</p>
  <pre><code>ID    DATE1    DATE2    DIFF
  1    3-4-20    3-4-20    0
  1    7-15-20   3-4-20    133
  2    2-28-20   2-28-20   0
  3    9-11-20   9-11-20   0
  3    12-11-20  9-11-20   91
  4    6-17-20   1-24-20   145 * Lowest non zero
  4    6-17-20   6-17-20   0
  5    5-15-20   2-19-20   86 *either work here
  5    5-15-20   2-19-20   86
  5    7-21-20   2-19-20   153
  5    7-21-20   6-1-20    50 * Lowest non zero
  5    9-25-20   2-19-20   219
  5    9-25-20   6-1-20    116 * Lowest non zero
  5    9-25-20   9-25-20   0
  5    10-30-20  2-19-20   254
  5    10-30-20  6-1-20    151
  5    10-30-20  9-25-20   35 * Lowest non zero
  </code></pre>
  <p>What I would like to do is when an ID has multiple date1's take the lowest nonzero diff and accompanying date2 if it exists. So the output would look like:</p>
  <pre><code>ID    DATE1    DATE2    DIFF
  1    3-4-20    3-4-20    0
  1    7-15-20   3-4-20    133
  2    2-28-20   2-28-20   0
  3    9-11-20   9-11-20   0
  3    12-11-20  9-11-20   91
  4    6-17-20   1-24-20   145 
  5    5-15-20   2-19-20   86 
  5    7-21-20   6-1-20    50 
  5    9-25-20   6-1-20    116 
  5    10-30-20  9-25-20   35 
  </code></pre>