当我参加面试时,我遇到了一个有趣的问题,如下所示.问题如下
如何在所有列中找出值1的出现
DECLARE @tbl AS TABLE(Col1 INT, Col2 INT, Col3 INT)
INSERT INTO @tbl
VALUES(1,1,1),(1,2,1),(1,1,3)
Run Code Online (Sandbox Code Playgroud)
我已经分享了如下答案.不确定这是否是一个正确的答案.
SELECT (SELECT COUNT(1) FROM @tbl WHERE COL1 = 1) +
(SELECT COUNT(1) FROM @tbl WHERE COL2 = 1)+
(SELECT COUNT(1) FROM @tbl WHERE COL3 = 1)
Run Code Online (Sandbox Code Playgroud)
请告诉我是否有其他方法可以找到正确的答案