数据库

 首页 > 数据库 > MySql > Play Modules Morphia 1.2.9a 之 Aggregation and Group aggregation

Play Modules Morphia 1.2.9a 之 Aggregation and Group aggregation

分享到:
【字体:
导读:
         摘要:聚合 和 分组聚合:PlayMorphia 给开发者提供了基于models的组合和分组的友好接口设想你定义了一个model,class Sales: @Entity public class Sales extends Model { public String employeeId; publi...

Play Modules Morphia 1.2.9a 之 Aggregation and Group aggregation

聚合 和 分组聚合:

PlayMorphia 给开发者提供了基于models的组合和分组的友好接口

设想你定义了一个model,class Sales: 


@Entity public class Sales extends Model {
    public String employeeId;
    public String department;
    public String region;
    public int amount;
}


聚合:现在你可以在Sales模型上做聚合操作,下面是一些具体示例:

long total = Sales.count(); // also Sales.q().count();
long cntIT = Sales.q().filter("department", "IT").count();
long cntAU = Sales.q().filter("region", "AU").count();
long cntAuIt = Sales.find("region, department", "AU", "IT").count();


求和:

long sum = Sales._sum("amount"); // also Sales.q().sum("amount");
long sumIT = Sales.find("department", "IT").sum("amount");
long sumAU = Sales.find("region", "AU").sum("amount");
long sumAuIt = Sales.find("region department", "AU", "IT").sum("amount");

最大值:

long max = Sales._max("amount"); // also Sales.q().max("amount");
long maxIT = Sales.find("department", "IT").max("amount");
long maxAU = Sales.find("region", "AU").max("amount");
long maxAuIt = Sales.find("region department", "AU", "IT").max("amount");

最小值:

long min = Sales._min("amount"); // also Sales.q().min("amount");
long minIT = Sales.find("department", "IT").min("amount");
long minAU = Sales.find("region", "AU").min("amount");
long minAuIt = Sales.find("region department", "AU", "IT").min("amount");

分组聚合:

每一个聚合都会对应一个分组聚合的接口,就像SQL中的group by语句


分组计数:

// group by region
AggregationResult byRegion = Sales.groupCount("region");
System.out.println("AU count: " + byRegion.get("region", "AU");
// group by department
AggregationResult byDep = Sales.groupCount("department");
System.out.println("IT count: " + byDep.get("department", "IT");
// group by region and department
AggregationResult byRegionDep = Sales.groupCount("region, department");
System.out.println("IT count: " + byRegionDep.get("department, region", "IT", "AU");


分组求和:

// group by region
AggregationResult byRegion = Sales.groupSum("region");
System.out.println("AU sum: " + byRegion.get("region", "AU");
// group by department
AggregationResult byDep = Sales.groupSum("department");
System.out.println("IT sum: " + byDep.get("department", "IT");
// group by region and department
AggregationResult byRegionDep = Sales.groupSum("region, department");
System.out.println("IT sum: " + byRegionDep.get("department, region", "IT", "AU");

分组求最大值:

// group by region
AggregationResult byRegion = Sales.groupMax("region");
System.out.println("AU max: " + byRegion.get("region", "AU");
// group by department
AggregationResult byDep = Sales.groupMax("department");
System.out.println("IT max: " + byDep.get("department", "IT");
// group by region and department
AggregationResult byRegionDep = Sales.groupMax("region, department");
System.out.println("IT max: " + byRegionDep.get("department, region", "IT", "AU");


分组求最小值:

// group by region
AggregationResult byRegion = Sales.groupMin("region");
System.out.println("AU min: " + byRegion.get("region", "AU");
// group by department
AggregationResult byDep = Sales.groupMin("department");
System.out.println("IT min: " + byDep.get("department", "IT");
// group by region and department
AggregationResult byRegionDep = Sales.groupMin("region, department");
System.out.println("IT min: " + byRegionDep.get("department, region", "IT", "AU");


原文链接:http://www.playframework.com/modules/morphia-1.2.9/statistics

Play Modules Morphia 1.2.9a 之 Aggregation and Group aggregation
分享到:
Chapter 1 Securing Your Server and Net...
Chapter 1 Securing Your Server and Network(12):保护链接服务器 原文出处:http://blog.csdn.net/dba_huangzj/article/details/38438363,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349 未经作者同意,任何人不得以“原创”形式发布,也不得已用于商业用途,本人不负责任何法律责任。    ...
ORA-27102: out of memory报错的处理
ORA-27102: out of memory报错的处理问题描述: 原先SGA 4G,PGA 2G。 alter system set sga_max_size=30G scope=spfile; alter system set sga_target=30G scope=spfile; 之后, SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. 再次启动 SQL> startupORA-27102: out of memor...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……