加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读