代码之家  ›  专栏  ›  技术社区  ›  sid_com

是否可以用当前行的非空单元格数更新列?

  •  0
  • sid_com  · 技术社区  · 6 年前

    在本例中,更新之后,“count non empty cells”列中的值将是 2 , 1 3

     id | x | y | z | count non-empty cells
    ----|---|---|---|----------------------
      1 | a | b |   |
    ----|---|---|---|----------------------
      2 | c |   |   |
    ----|---|---|---|----------------------
      3 | d | e | f |
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   Tim Biegeleisen    6 年前

    你可以试着用 COALESCE 在这里:

    SELECT id, x, y, z,
        (CASE WHEN x IS NOT NULL THEN 1 ELSE 0 END +
         CASE WHEN y IS NOT NULL THEN 1 ELSE 0 END +
         CASE WHEN z IS NOT NULL THEN 1 ELSE 0 END) AS non_empty_count
    FROM yourTable;