com.yahoo.squidb.sql.Query.groupBy()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(4.4k)|赞(0)|评价(0)|浏览(280)

本文整理了Java中com.yahoo.squidb.sql.Query.groupBy方法的一些代码示例,展示了Query.groupBy的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.groupBy方法的具体详情如下:
包路径:com.yahoo.squidb.sql.Query
类名称:Query
方法名:groupBy

Query.groupBy介绍

[英]Add a GROUP BY clause (or an additional grouping term) to this query
[中]将GROUP BY子句(或其他分组术语)添加到此查询中

代码示例

代码示例来源:origin: yahoo/squidb

  1. /**
  2. * Add a GROUP BY clause (or an additional grouping term) to this query
  3. *
  4. * @param fields one or more Fields to group on
  5. * @return this Query object, to allow chaining method calls
  6. */
  7. public Query groupBy(Field<?>... fields) {
  8. if (immutable) {
  9. return fork().groupBy(fields);
  10. }
  11. if (this.groupByFields == null) {
  12. this.groupByFields = new ArrayList<>();
  13. }
  14. SquidUtilities.addAll(this.groupByFields, fields);
  15. invalidateCompileCache();
  16. return this;
  17. }

代码示例来源:origin: yahoo/squidb

  1. public void testBoundArgumentsWorkInHavingClause() {
  2. Query query = Query.select(Employee.PROPERTIES)
  3. .groupBy(Employee.MANAGER_ID)
  4. .having(Function.count(Employee.MANAGER_ID).gt(2));
  5. SquidCursor<Employee> cursor = database.query(Employee.class, query);
  6. try {
  7. assertEquals(1, cursor.getCount());
  8. cursor.moveToFirst();
  9. assertEquals(bigBird.getRowId(), cursor.get(Employee.MANAGER_ID).longValue());
  10. } finally {
  11. cursor.close();
  12. }
  13. }

代码示例来源:origin: yahoo/squidb

  1. public void testAggregateCount() {
  2. TestModel model1 = insertBasicTestModel();
  3. TestModel model2 = new TestModel().setFirstName(model1.getFirstName()).setLastName("Smith");
  4. database.persist(model2);
  5. IntegerProperty groupCount = IntegerProperty.countProperty(TestModel.FIRST_NAME, false);
  6. Query query = Query.select(TestModel.PROPERTIES).selectMore(groupCount).groupBy(TestModel.FIRST_NAME);
  7. SquidCursor<TestModel> groupedCursor = database.query(TestModel.class, query);
  8. try {
  9. groupedCursor.moveToFirst();
  10. assertEquals(1, groupedCursor.getCount());
  11. assertEquals(2, groupedCursor.get(groupCount).intValue());
  12. } finally {
  13. groupedCursor.close();
  14. }
  15. }

代码示例来源:origin: yahoo/squidb

  1. "subordinates");
  2. Query subquery = Query.select(aliasedManagerId, subordinates).from(employeesAlias)
  3. .groupBy(aliasedManagerId);

代码示例来源:origin: com.yahoo.squidb/squidb

  1. /**
  2. * Add a GROUP BY clause (or an additional grouping term) to this query
  3. *
  4. * @param fields one or more Fields to group on
  5. * @return this Query object, to allow chaining method calls
  6. */
  7. public Query groupBy(Field<?>... fields) {
  8. if (immutable) {
  9. return fork().groupBy(fields);
  10. }
  11. if (this.groupByFields == null) {
  12. this.groupByFields = new ArrayList<>();
  13. }
  14. SquidUtilities.addAll(this.groupByFields, fields);
  15. invalidateCompileCache();
  16. return this;
  17. }

代码示例来源:origin: yahoo/squidb

  1. public void testSubqueryJoin() {
  2. StringProperty managerName = Employee.NAME.as("managerName");
  3. Query query = Query
  4. .fromSubquery(Query.select(Employee.MANAGER_ID).from(Employee.TABLE).groupBy(Employee.MANAGER_ID),
  5. "subquery");
  6. query.selectMore(managerName);
  7. query.join(Join.inner(Employee.TABLE, query.getTable().qualifyField(Employee.MANAGER_ID).eq(Employee.ID)))
  8. .orderBy(Employee.MANAGER_ID.asc());
  9. SquidCursor<Employee> cursor = database.query(Employee.class, query);
  10. try {
  11. assertEquals(3, cursor.getCount());
  12. cursor.moveToFirst();
  13. assertEquals("bigBird", cursor.get(managerName));
  14. cursor.moveToNext();
  15. assertEquals("cookieMonster", cursor.get(managerName));
  16. cursor.moveToNext();
  17. assertEquals("bert", cursor.get(managerName));
  18. } finally {
  19. cursor.close();
  20. }
  21. }

代码示例来源:origin: yahoo/squidb

  1. public void testGroupConcat() {
  2. setUpAggregateTest();
  3. StringProperty firstNameConcat = StringProperty.fromFunction(
  4. Function.groupConcat(TestModel.FIRST_NAME), "fname_concat");
  5. StringProperty firstNameConcatSeparator = StringProperty.fromFunction(
  6. Function.groupConcat(TestModel.FIRST_NAME, "|"), "fname_concat_separator");
  7. StringProperty firstNameDistinct = StringProperty.fromFunction(
  8. Function.groupConcatDistinct(TestModel.FIRST_NAME), "fname_distinct");
  9. SquidCursor<TestModel> cursor = database.query(TestModel.class,
  10. Query.select(firstNameConcat, firstNameConcatSeparator, firstNameDistinct)
  11. .groupBy(TestModel.FIRST_NAME));
  12. try {
  13. assertEquals(2, cursor.getCount());
  14. cursor.moveToFirst();
  15. assertEquals("A,A,A", cursor.get(firstNameConcat));
  16. assertEquals("A|A|A", cursor.get(firstNameConcatSeparator));
  17. assertEquals("A", cursor.get(firstNameDistinct));
  18. cursor.moveToNext();
  19. assertEquals("B,B,B", cursor.get(firstNameConcat));
  20. assertEquals("B|B|B", cursor.get(firstNameConcatSeparator));
  21. assertEquals("B", cursor.get(firstNameDistinct));
  22. } finally {
  23. cursor.close();
  24. }
  25. }

相关文章