zoukankan      html  css  js  c++  java
  • 根据某字段分组,获取当前数据成功或失败各自的统计数

    1、单独获取失败或成功的数据,并根据areaCode分组很好写:

    SELECT p2.areaCode,COUNT(1) FROM vrv_paw_rulestatus p2 WHERE executeResult=1 GROUP BY p2.areaCode

    2、如果要根据areaCode分组获取失败的和成功的统计,在一条数据里,就需要一定的技巧在里面:

    SELECT a.code,
    (SELECT COUNT(1) FROM vrv_paw_rulestatus p2 WHERE executeResult=1 and p2.areaCode = p.areaCode ) AS count_0,
    (SELECT COUNT(1) FROM vrv_paw_rulestatus p2 WHERE executeResult=0 and p2.areaCode = p.areaCode ) AS count_1 
    FROM vrv_paw_area a LEFT JOIN vrv_paw_rulestatus p ON p.areaCode=a.code 
    where 1=1 
    GROUP BY a.code

      public List<Object[]> queryBaseLineGroup(String areaCode, String startIP, String endIP) {
            StringBuffer hql = new StringBuffer("SELECT a.code,"
                    + "(SELECT COUNT(1)  FROM vrv_paw_rulestatus p2 WHERE executeResult=1 and p2.areaCode = p.areaCode ) AS count_0  "
                    + "FROM vrv_paw_area a LEFT JOIN vrv_paw_rulestatus p ON p.areaCode=a.code  where 1=1 ");
            if (StringUtils.isNotBlank(areaCode)) {
                hql.append(" AND a.code ='"+areaCode+"'");
            }
            hql.append("GROUP BY a.code ");
                    
            List<Object[]> list = getSession().createSQLQuery(hql.toString()).list();
            return list;
        }
  • 相关阅读:
    commons-dbutils实现增删改查(spring新注解)
    commons-dbutils实现增删改查
    配置扫描注解的包
    常用注解
    注入集合类型数据
    spring创建bean的三种方式
    switch
    jvm编译器的优化
    java9小工具jshell
    java三元运算符
  • 原文地址:https://www.cnblogs.com/goloving/p/8194997.html
Copyright © 2011-2022 走看看