SQL在一个查询中统一COUNT和SUM
发布时间:2020-12-12 08:23:43 所属栏目:MsSql教程 来源:网络整理
导读:我想将两个SELECT组合成一个查询,如下例所示: TABLE tbl╔════╦════╦════╦═══╗║ id ║ X ║ Y ║ Z ║╠════╬════╬════╬═══╣║ 0 ║ 1 ║ 2 ║ 0 ║║ 1 ║ 3 ║ 0 ║ 1 ║║ 2 ║ 5 ║ 6 ║ 1 ║║ 3 ║ 7 ║ 8 ║
我想将两个SELECT组合成一个查询,如下例所示:
TABLE tbl ╔════╦════╦════╦═══╗ ║ id ║ X ║ Y ║ Z ║ ╠════╬════╬════╬═══╣ ║ 0 ║ 1 ║ 2 ║ 0 ║ ║ 1 ║ 3 ║ 0 ║ 1 ║ ║ 2 ║ 5 ║ 6 ║ 1 ║ ║ 3 ║ 7 ║ 8 ║ 0 ║ ║ 4 ║ 9 ║ 4 ║ 1 ║ ║ 5 ║ 11 ║ 10 ║ 0 ║ ╚════╩════╩════╩═══╝ SELECT COUNT(X) FROM tbl WHERE X>Y SELECT SUM(X) FROM tbl WHERE X>Y AND Z=1 第一个SELECT返回3,第二个返回12. ╔══════════╦════════╗ ║ COUNT(X) ║ SUM(X) ║ ╠══════════╬════════╣ ║ 3 ║ 12 ║ ╚══════════╩════════╝ 我正在使用SQLite3 解决方法SELECT COUNT(X),SUM(CASE WHEN Z = 1 THEN X ELSE 0 END) FROM tbl WHERE X>Y (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |