【问题标题】:Database query select all columns including count with every record by 'group by'数据库查询选择所有列,包括按“分组依据”的每条记录的计数
【发布时间】:2018-03-22 12:34:10
【问题描述】:

使用 Criteria 或 HQL(Hibernate Query Language),选择所有列Grouping by 选定列的任意一列,并为我们使用 group by 的每条记录选择 count

示例 SQL 查询例如:select *,count(1) from users group by name

【问题讨论】:

    标签: mysql sql database hibernate hql


    【解决方案1】:

    您是否尝试过运行您的 SQL?你不能运行这个查询吧?

    select *,count(1) from users group by name
    

    你会收到一些错误,例如:

    Column 'some_column_name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
    

    你可以这样查询:

    select name, count(name) from users group by name
    

    在这种情况下,您可以在标准中使用投影来计算分组依据,例如:

    criteria.setProjection(Projections.projectionList()
        .add(Projections.groupProperty("name"))
        .add(Projections.count("name")));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-02
      • 2012-12-09
      • 2022-07-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 2013-02-04
      相关资源
      最近更新 更多