org.teiid.query.sql.lang.Query.setGroupBy()方法的使用及代码示例

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

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

Query.setGroupBy介绍

[英]Set the group by clause for the query.
[中]为查询设置group by子句。

代码示例

代码示例来源:origin: org.teiid/teiid-engine

  1. private Query rewriteGroupBy(Query query) throws TeiidComponentException, TeiidProcessingException {
  2. if (query.getGroupBy() == null) {
  3. rewriteAggs = false;
  4. return query;
  5. }
  6. if (isDistinctWithGroupBy(query)) {
  7. query.getSelect().setDistinct(false);
  8. }
  9. rewriteExpressions(query.getGroupBy());
  10. List<Expression> expr = query.getGroupBy().getSymbols();
  11. for (Iterator<Expression> iter = expr.iterator(); iter.hasNext();) {
  12. if (EvaluatableVisitor.willBecomeConstant(iter.next())) {
  13. iter.remove();
  14. }
  15. }
  16. if (expr.isEmpty()) {
  17. query.setGroupBy(null);
  18. }
  19. return query;
  20. }

代码示例来源:origin: org.jboss.teiid/teiid-engine

  1. private Query rewriteGroupBy(Query query) throws TeiidComponentException, TeiidProcessingException {
  2. if (query.getGroupBy() == null) {
  3. rewriteAggs = false;
  4. return query;
  5. }
  6. if (isDistinctWithGroupBy(query)) {
  7. query.getSelect().setDistinct(false);
  8. }
  9. rewriteExpressions(query.getGroupBy());
  10. List<Expression> expr = query.getGroupBy().getSymbols();
  11. for (Iterator<Expression> iter = expr.iterator(); iter.hasNext();) {
  12. if (EvaluatableVisitor.willBecomeConstant(iter.next())) {
  13. iter.remove();
  14. }
  15. }
  16. if (expr.isEmpty()) {
  17. query.setGroupBy(null);
  18. }
  19. return query;
  20. }

代码示例来源:origin: teiid/teiid

  1. private Query rewriteGroupBy(Query query) throws TeiidComponentException, TeiidProcessingException {
  2. if (query.getGroupBy() == null) {
  3. rewriteAggs = false;
  4. return query;
  5. }
  6. if (isDistinctWithGroupBy(query)) {
  7. query.getSelect().setDistinct(false);
  8. }
  9. rewriteExpressions(query.getGroupBy());
  10. List<Expression> expr = query.getGroupBy().getSymbols();
  11. for (Iterator<Expression> iter = expr.iterator(); iter.hasNext();) {
  12. if (EvaluatableVisitor.willBecomeConstant(iter.next())) {
  13. iter.remove();
  14. }
  15. }
  16. if (expr.isEmpty()) {
  17. query.setGroupBy(null);
  18. }
  19. return query;
  20. }

代码示例来源:origin: org.jboss.teiid/teiid-engine

  1. /**
  2. * Constructs an instance of this class given all the clauses
  3. * @param select SELECT clause
  4. * @param from FROM clause
  5. * @param criteria WHERE clause
  6. * @param groupBy GROUP BY clause
  7. * @param having HAVING clause
  8. * @param orderBy ORDER BY clause
  9. * @param option OPTION clause
  10. */
  11. public Query( Select select, From from, Criteria criteria, GroupBy groupBy, Criteria having, OrderBy orderBy, Option option ) {
  12. super();
  13. setSelect( select );
  14. setFrom( from );
  15. setCriteria( criteria );
  16. setGroupBy( groupBy );
  17. setHaving( having );
  18. setOrderBy( orderBy );
  19. setOption( option );
  20. }

代码示例来源:origin: org.teiid/teiid-engine

  1. /**
  2. * Constructs an instance of this class given all the clauses
  3. * @param select SELECT clause
  4. * @param from FROM clause
  5. * @param criteria WHERE clause
  6. * @param groupBy GROUP BY clause
  7. * @param having HAVING clause
  8. * @param orderBy ORDER BY clause
  9. * @param option OPTION clause
  10. */
  11. public Query( Select select, From from, Criteria criteria, GroupBy groupBy, Criteria having, OrderBy orderBy, Option option ) {
  12. super();
  13. setSelect( select );
  14. setFrom( from );
  15. setCriteria( criteria );
  16. setGroupBy( groupBy );
  17. setHaving( having );
  18. setOrderBy( orderBy );
  19. setOption( option );
  20. }

代码示例来源:origin: teiid/teiid

  1. /**
  2. * Constructs an instance of this class given all the clauses
  3. * @param select SELECT clause
  4. * @param from FROM clause
  5. * @param criteria WHERE clause
  6. * @param groupBy GROUP BY clause
  7. * @param having HAVING clause
  8. * @param orderBy ORDER BY clause
  9. * @param option OPTION clause
  10. */
  11. public Query( Select select, From from, Criteria criteria, GroupBy groupBy, Criteria having, OrderBy orderBy, Option option ) {
  12. super();
  13. setSelect( select );
  14. setFrom( from );
  15. setCriteria( criteria );
  16. setGroupBy( groupBy );
  17. setHaving( having );
  18. setOrderBy( orderBy );
  19. setOption( option );
  20. }

代码示例来源:origin: org.teiid/teiid-olingo

  1. groupBy.addSymbol(new ElementSymbol(keyCol, this.groupSymbol));
  2. query.setGroupBy(groupBy);

代码示例来源:origin: teiid/teiid

  1. @Test public void testQuery6() {
  2. Select select = new Select();
  3. select.addSymbol(new MultipleElementSymbol());
  4. From from = new From();
  5. from.addGroup(new GroupSymbol("m.g")); //$NON-NLS-1$
  6. CompareCriteria cc = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.EQ, new Constant(new Integer(5))); //$NON-NLS-1$
  7. GroupBy groupBy = new GroupBy();
  8. groupBy.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
  9. CompareCriteria having = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.GT, new Constant(new Integer(0))); //$NON-NLS-1$
  10. Query query = new Query();
  11. query.setSelect(select);
  12. query.setFrom(from);
  13. query.setCriteria(cc);
  14. query.setGroupBy(groupBy);
  15. query.setHaving(having);
  16. helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 GROUP BY e1 HAVING e1 > 0"); //$NON-NLS-1$
  17. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testQuery2() {
  2. Select select = new Select();
  3. select.addSymbol(new MultipleElementSymbol());
  4. From from = new From();
  5. from.addGroup(new GroupSymbol("m.g")); //$NON-NLS-1$
  6. CompareCriteria cc = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.EQ, new Constant(new Integer(5))); //$NON-NLS-1$
  7. GroupBy groupBy = new GroupBy();
  8. groupBy.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
  9. CompareCriteria having = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.GT, new Constant(new Integer(0))); //$NON-NLS-1$
  10. OrderBy orderBy = new OrderBy();
  11. orderBy.addVariable(new ElementSymbol("e1")); //$NON-NLS-1$
  12. Query query = new Query();
  13. query.setSelect(select);
  14. query.setFrom(from);
  15. query.setCriteria(cc);
  16. query.setGroupBy(groupBy);
  17. query.setHaving(having);
  18. query.setOrderBy(orderBy);
  19. helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 GROUP BY e1 HAVING e1 > 0 ORDER BY e1"); //$NON-NLS-1$
  20. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testQuery7() {
  2. Select select = new Select();
  3. select.addSymbol(new MultipleElementSymbol());
  4. From from = new From();
  5. from.addGroup(new GroupSymbol("m.g")); //$NON-NLS-1$
  6. CompareCriteria cc = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.EQ, new Constant(new Integer(5))); //$NON-NLS-1$
  7. GroupBy groupBy = new GroupBy();
  8. groupBy.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
  9. CompareCriteria having = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.GT, new Constant(new Integer(0))); //$NON-NLS-1$
  10. OrderBy orderBy = new OrderBy();
  11. orderBy.addVariable(new ElementSymbol("e1")); //$NON-NLS-1$
  12. Query query = new Query();
  13. query.setSelect(select);
  14. query.setFrom(from);
  15. query.setCriteria(cc);
  16. query.setGroupBy(groupBy);
  17. query.setHaving(having);
  18. query.setOrderBy(orderBy);
  19. helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 GROUP BY e1 HAVING e1 > 0 ORDER BY e1"); //$NON-NLS-1$
  20. }

代码示例来源:origin: teiid/teiid

  1. query.setSelect(select);
  2. query.setFrom(from);
  3. query.setGroupBy(groupBy);
  4. query.setHaving(having);

代码示例来源:origin: teiid/teiid

  1. /** SELECT a FROM m.g GROUP BY b, c HAVING b=5*/
  2. @Test public void testGroupByHaving() {
  3. GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
  4. From from = new From();
  5. from.addGroup(g);
  6. Select select = new Select();
  7. select.addSymbol(new ElementSymbol("a", false)); //$NON-NLS-1$
  8. GroupBy groupBy = new GroupBy();
  9. groupBy.addSymbol(new ElementSymbol("b", false)); //$NON-NLS-1$
  10. groupBy.addSymbol(new ElementSymbol("c", false)); //$NON-NLS-1$
  11. CompareCriteria having = new CompareCriteria(new ElementSymbol("b", false), CompareCriteria.EQ, new Constant(new Integer(5))); //$NON-NLS-1$
  12. Query query = new Query();
  13. query.setSelect(select);
  14. query.setFrom(from);
  15. query.setGroupBy(groupBy);
  16. query.setHaving(having);
  17. helpTest("SELECT a FROM m.g GROUP BY b, c HAVING b=5", //$NON-NLS-1$
  18. "SELECT a FROM m.g GROUP BY b, c HAVING b = 5", //$NON-NLS-1$
  19. query);
  20. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testQuery3() {
  2. Select select = new Select();
  3. select.addSymbol(new MultipleElementSymbol());
  4. From from = new From();
  5. from.addGroup(new GroupSymbol("m.g")); //$NON-NLS-1$
  6. GroupBy groupBy = new GroupBy();
  7. groupBy.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
  8. CompareCriteria having = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.GT, new Constant(new Integer(0))); //$NON-NLS-1$
  9. OrderBy orderBy = new OrderBy();
  10. orderBy.addVariable(new ElementSymbol("e1")); //$NON-NLS-1$
  11. Query query = new Query();
  12. query.setSelect(select);
  13. query.setFrom(from);
  14. query.setGroupBy(groupBy);
  15. query.setHaving(having);
  16. query.setOrderBy(orderBy);
  17. helpTest(query, "SELECT * FROM m.g GROUP BY e1 HAVING e1 > 0 ORDER BY e1"); //$NON-NLS-1$
  18. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testQuery5() {
  2. Select select = new Select();
  3. select.addSymbol(new MultipleElementSymbol());
  4. From from = new From();
  5. from.addGroup(new GroupSymbol("m.g")); //$NON-NLS-1$
  6. CompareCriteria cc = new CompareCriteria(new ElementSymbol("e1"), CompareCriteria.EQ, new Constant(new Integer(5))); //$NON-NLS-1$
  7. GroupBy groupBy = new GroupBy();
  8. groupBy.addSymbol(new ElementSymbol("e1")); //$NON-NLS-1$
  9. OrderBy orderBy = new OrderBy();
  10. orderBy.addVariable(new ElementSymbol("e1")); //$NON-NLS-1$
  11. Query query = new Query();
  12. query.setSelect(select);
  13. query.setFrom(from);
  14. query.setCriteria(cc);
  15. query.setGroupBy(groupBy);
  16. query.setOrderBy(orderBy);
  17. helpTest(query, "SELECT * FROM m.g WHERE e1 = 5 GROUP BY e1 ORDER BY e1"); //$NON-NLS-1$
  18. }

代码示例来源:origin: teiid/teiid

  1. /** SELECT a FROM m.g GROUP BY a HAVING COUNT(b) > 0*/
  2. @Test public void testHavingFunction() {
  3. GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
  4. From from = new From();
  5. from.addGroup(g);
  6. Select select = new Select();
  7. select.addSymbol(new ElementSymbol("a")); //$NON-NLS-1$
  8. GroupBy groupBy = new GroupBy();
  9. groupBy.addSymbol(new ElementSymbol("a")); //$NON-NLS-1$
  10. Criteria having = new CompareCriteria(
  11. new AggregateSymbol("COUNT", false, new ElementSymbol("b", false)), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
  12. CompareCriteria.GT,
  13. new Constant(new Integer(0)) );
  14. Query query = new Query();
  15. query.setSelect(select);
  16. query.setFrom(from);
  17. query.setGroupBy(groupBy);
  18. query.setHaving(having);
  19. helpTest("SELECT a FROM m.g GROUP BY a HAVING COUNT(b) > 0", //$NON-NLS-1$
  20. "SELECT a FROM m.g GROUP BY a HAVING COUNT(b) > 0", //$NON-NLS-1$
  21. query);
  22. }

代码示例来源:origin: teiid/teiid

  1. copy.setGroupBy( (GroupBy) groupBy.clone());

代码示例来源:origin: org.teiid/teiid-engine

  1. copy.setGroupBy( (GroupBy) groupBy.clone());

代码示例来源:origin: teiid/teiid

  1. /** SELECT a FROM m.g GROUP BY b, c */
  2. @Test public void testGroupBy() {
  3. GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
  4. From from = new From();
  5. from.addGroup(g);
  6. Select select = new Select();
  7. select.addSymbol(new ElementSymbol("a", false)); //$NON-NLS-1$
  8. GroupBy groupBy = new GroupBy();
  9. groupBy.addSymbol(new ElementSymbol("b", false)); //$NON-NLS-1$
  10. groupBy.addSymbol(new ElementSymbol("c", false)); //$NON-NLS-1$
  11. Query query = new Query();
  12. query.setSelect(select);
  13. query.setFrom(from);
  14. query.setGroupBy(groupBy);
  15. helpTest("SELECT a FROM m.g GROUP BY b, c", //$NON-NLS-1$
  16. "SELECT a FROM m.g GROUP BY b, c", //$NON-NLS-1$
  17. query);
  18. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testGroupByRollup() {
  2. GroupSymbol g = new GroupSymbol("m.g"); //$NON-NLS-1$
  3. From from = new From();
  4. from.addGroup(g);
  5. Select select = new Select();
  6. select.addSymbol(new ElementSymbol("a", false)); //$NON-NLS-1$
  7. GroupBy groupBy = new GroupBy();
  8. groupBy.setRollup(true);
  9. groupBy.addSymbol(new ElementSymbol("b", false)); //$NON-NLS-1$
  10. groupBy.addSymbol(new ElementSymbol("c", false)); //$NON-NLS-1$
  11. Query query = new Query();
  12. query.setSelect(select);
  13. query.setFrom(from);
  14. query.setGroupBy(groupBy);
  15. helpTest("SELECT a FROM m.g GROUP BY rollup(b, c)", //$NON-NLS-1$
  16. "SELECT a FROM m.g GROUP BY ROLLUP(b, c)", //$NON-NLS-1$
  17. query);
  18. }

代码示例来源:origin: org.jboss.teiid/teiid-engine

  1. copy.setGroupBy( (GroupBy) groupBy.clone());

相关文章