栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Oracle 多类型下不同类型组合的数据量统计2

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Oracle 多类型下不同类型组合的数据量统计2

需要统计type1=1且score<4,同时type1=2且score>=4的数据量。

略有点复杂,在Oracle 多类型下不同类型组合的数据量统计1操作的基础上,添加筛选条件即可。

  1. 限定数据范围
    查找type1=1 AND score<4的id值。

        SELECt id 
          FROM (SELECt id, MAX(score) maxScore 
                  FROM demo 
                  WHERe type1 = 1 
                  GROUP BY id) 
          WHERe maxScore < 4 
    
  2. 拼接sql语句

        SELECt COUNT(*) 
         FROM (SELECt id, MAX(ty21) mty21, MAX(ty22) mty22, MAX(ty23) mty23 
                FROM (SELECt t.id, t.type2, 
                             CASE WHEN t.type2 = 1 AND t.score >= 4 THEN 1 else 0 END ty21, 
                             CASE WHEN t.type2 = 2 AND t.score >= 4 THEN 1 else 0 END ty22, 
                             CASE WHEN t.type2 = 3 AND t.score >= 4 THEN 1 else 0 END ty23 
                        FROM demo t 
                        WHERe t.type1 = 2 
                           AND id IN (SELECt id 
                                       FROM (SELECt id, MAX(score) maxScore 
                                              FROM demo 
                                              WHERe type1 = 1 
                                              GROUP BY id) 
                                       WHERe maxScore < 4)
                        ) 
                GROUP BY id) 
         WHERe mty21 > 0 OR mty22 > 0 OR mty23 > 0; 
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028403.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号