我有一个问题,是否可以对具有值的列范围(第2列,第3列,第4列,第5列)中的行进行计数?
从表1中选择a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12;
像上面的图像一样,应该这样返回:
答案 0 :(得分:2)
您可以使用CASE WHEN
SELECT T.*,
CASE WHEN A2 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN A3 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN A4 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN A5 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN A6 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN A7 IS NOT NULL THEN 1 ELSE 0 END
AS CNT
FROM YOUR_TABLE T
此查询将返回该行的非空列的计数。
干杯!