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

时间:2019-10-16 04:34:35

标签: sql sqlite sql-update

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

在此示例中-在更新之后-“计数非空单元格”列中的值将为213(不包括“ id”列)

 id | x | y | z | count non-empty cells
----|---|---|---|----------------------
  1 | a | b |   |
----|---|---|---|----------------------
  2 | c |   |   |
----|---|---|---|----------------------
  3 | d | e | f |

1 个答案:

答案 0 :(得分:3)

您可以在此处尝试使用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;