`

HQL 使用聚合函数

阅读更多

传统sql的聚合参数语句

 

   String sql = "select " +
                "date_format(date,'%m') as month," +
                "sum(hardwareIncome) as hardwareIncome," +
                "sum(ecommerceincome) as ecommerceincome," +
                "sum(softwareIncome) as softwareIncome," +
                "sum(otherIncome) as otherIncome," +
                "sum(businessIncome) as businessIncome " +
                "from  _reportform where date_format(date,'%m') =" + getUpMonth();
        Query query = sessionFactory.getCurrentSession().createSQLQuery(sql);
        List<Object[]> list = query.list();
//传统方式取值麻烦
list.get(0)[1].toString()
list.get(0)[2].toString()
       

 HQL也有sum avg等聚合方法对照上一个例子写法如下

        String sql = "select new Income(date_format(name,'%m'),sum(businessIncome),sum(hardwareIncome),sum(eCommerceIncome),sum(softwareIncome),sum(otherIncome))" +
                " from  Income where date_format(name,'%m') =" + getUpMonth();
        Query query = sessionFactory.getCurrentSession().createQuery(sql);
        Income r = (Income) query.uniqueResult();
//        Income r = (Income) query.list().get(0); //两种方式都可以在分组查询的情况下可以使用list获取

 前提是 Income 必须要有个相同参数的构造方法 这里的date经过date_format转换后为String 所以构造参数也必须是String类型 这里使用的构造方法如下

    public Income(String name, double businessIncome, double hardwareIncome, double eCommerceIncome, double softwareIncome, double otherIncome) {
        this.name = name;
        this.businessIncome = businessIncome;
        this.hardwareIncome = hardwareIncome;
        this.eCommerceIncome = eCommerceIncome;
        this.softwareIncome = softwareIncome;
        this.otherIncome = otherIncome;
    }

 

 

分享到:
评论

相关推荐

    Hibernate_query聚合函数查询.

    在HQL中,我们可以方便地使用聚合函数进行数据处理。例如,如果你想要查询一个表中所有记录的总数,可以使用`COUNT`函数: ```java Query query = session.createQuery("SELECT COUNT(*) FROM EntityName"); Long ...

    HQL的具体内容和使用

    HQL遵循与SQL类似的语法结构,支持`select`、`where`、`in`、`like`、`between and`、`order by`、`group by`和`having`等语句块,同时提供`max`、`min`和`sum`等聚合函数。它对底层数据库透明,这意味着你可以在...

    学习HQL语句

    HQL 支持以下的聚合函数: 1. avg(…):计算某一列的平均值 2. sum(…):计算某一列的总和 3. min(…):计算某一列的最小值 4. max(…):计算某一列的最大值 5. count(…):统计某一列的行数 四、分组...

    Hibernate之HQL查询

    HQL支持常用的聚合函数,如`COUNT`, `SUM`, `AVG`, `MAX`, `MIN`,可以用于统计和计算。例如: ```sql SELECT COUNT(s) FROM Student s WHERE s.major = '计算机科学' ``` 这个查询将返回计算机科学专业学生的数量...

    hibernate_hql.rar_HQL

    三、HQL聚合函数 HQL提供了如count、sum、avg、max、min等聚合函数,用于统计和计算。例如,获取User表中最大的年龄: ```java String hql = "select max(age) from User"; Object maxAge = query.uniqueResult(); `...

    全面解析HQL语句 非常详细直接的HQL语句的功能介绍

    HQL提供了标准SQL中的聚合函数,如`avg`, `count`, `max`, `min`, `sum`等,用于执行统计计算。例如,`select count(*) from Person`可以统计`Person`表中的记录总数。 ### 4. 多态查询 多态查询允许在不指定具体...

    03-HQL实用技术.pdf

    - HQL支持的聚合函数与SQL类似,包括但不限于`COUNT()`, `SUM()`, `AVG()`, `MAX()`, `MIN()`等。 **2.4 HQL实现分页** - **实现方法**: 使用`Query.setFirstResult()`和`Query.setMaxResults()`方法来实现分页查询...

    精通HQL.doc

    6. **聚合函数**:可以使用COUNT、AVG、MAX、MIN和SUM等聚合函数,如 `select count(s.id) from Student s` 返回学生总数。 7. **子查询**:在HQL中,你可以嵌套查询,如 `from Student s where s.id in (select s....

    Hibernate HQL.txt

    根据提供的文件信息,我们可以深入探讨Hibernate HQL(Hibernate Query Language)的相关知识点,特别是关于其查询功能、连接操作、条件过滤以及聚合函数的应用等。 ### Hibernate HQL简介 Hibernate HQL是一种...

    HQL语法大全,并带有详细的例子

    HQL支持多种聚合函数,如avg(平均值)、count(计数)、max(最大值)、min(最小值)、sum(总和)等。例如,统计Person表中的记录总数: ```java select count(*) from Person ``` ##### 4. 条件筛选(WHERE子句...

    HQL连接查询和注解使用总结

    - 注意:`GROUP BY`后`SELECT`语句中只能出现聚合函数或`GROUP BY`后的表达式。 - **子查询**: - 在HQL查询语句的`WHERE`子句中使用子查询。 - 关键字`ALL`, `ANY`/`SOME`, `IN`, `EXISTS`等可以用于子查询。 ...

    Hql语句注意事项总结

    - **统计函数与分组**:在Hql中,`group by`语句用于对数据进行分组,常与聚合函数如`sum()`、`count()`、`max()`等结合使用。例如,你可以选择特定字段进行分组,并计算每个组的总和或计数。 - **约束条件的位置*...

    精通hibernate HQL语言

    HQL还支持聚合函数,如`count`、`max`、`min`、`sum`和`avg`,以及分组和排序。例如,要计算每个系别的学生数量,我们可以使用以下HQL: ```java String hql = "select s.sdept, count(s) from Student s group by ...

    Hibernate-HQL.rar_HQL_hibernate hql

    5. HAVING子句:在聚合函数基础上设置条件,如“HAVING COUNT(u)&gt;5”。 6. ORDER BY子句:定义排序规则,如“ORDER BY u.score DESC”。 三、HQL与SQL的对比 HQL的灵活性在于它可以处理对象关系,例如一对一、一对...

    HQL语句大全HQL语句大全

    - HQL支持SQL中的聚合函数,如`avg`, `count`, `max`, `min`, `sum`等。 - **示例**:`select count(*) from Person` - 该语句统计`Person`表中的记录总数。 ##### 4. where子句 - `where`子句用于添加过滤条件。...

    HQL语言大全 高清晰可复制版

    - **聚合查询**:支持COUNT、MAX、MIN、SUM、AVG等聚合函数。 - **分组查询**:通过GROUP BY子句对查询结果进行分组。 - **连接查询**:可以查询多个关联的实体类,通过JOIN关键字实现。 - **子查询**:在HQL中...

    hibernate hql大全

    `GROUP BY`用于数据分组,配合`COUNT`、`SUM`、`AVG`、`MAX`、`MIN`等聚合函数,可以进行统计分析。例如: ```java from Employee e group by e.department ``` 这将返回按部门分组的员工列表。 ### 5. **连接查询...

    HQL详解

    3. **分组与聚合**:使用`GROUP BY`和聚合函数如`COUNT`, `SUM`, `AVG`, `MAX`, `MIN`。 ```sql SELECT p.country, COUNT(p) FROM Person p GROUP BY p.country ``` 4. **排序**:使用`ORDER BY`进行排序。 `...

    HibernateHql综合测试小程序

    4. **分组与聚合**:使用GROUP BY和聚合函数(COUNT, SUM, AVG, MAX, MIN),例如`select e.dept, count(e) from Employee e group by e.dept`。 5. **连接查询**:通过JOIN关键字,可以执行关联查询,例如`from ...

Global site tag (gtag.js) - Google Analytics