oracle sql group_con,HiveQL Select Group By

本章介绍了SELECT语句的GROUP BY子句。GROUP BY子句用于分类所有记录结果的特定集合列。它被用来查询一组记录。

语法

GROUP BY子句的语法如下:

SELECT[ALL|DISTINCT]select_expr,select_expr,...FROM table_reference[WHERE where_condition][GROUP BY col_list][HAVING having_condition][ORDER BY col_list]][LIMIT number];

示例

让我们以SELECT... GROUP BY子句为例。假设员工表有如下Id, Name, Salary, Designation, 和 Dept字段。产生一个查询以检索每个部门的员工数量。

+------+--------------+-------------+-------------------+--------+

| ID | Name | Salary | Designation | Dept |

+------+--------------+-------------+-------------------+--------+

|1201 | Gopal | 45000 | Technical manager | TP |

|1202 | Manisha | 45000 | Proofreader | PR |

|1203 | Masthanvali | 40000 | Technical writer | TP |

|1204 | Krian | 45000 | Proofreader | PR |

|1205 | Kranthi | 30000 | Op Admin | Admin |

+------+--------------+-------------+-------------------+--------+

下面使用上述业务情景查询检索员工的详细信息。

hive>SELECTDept,count(*)FROM employee GROUP BY DEPT;

成功执行查询后,能看到以下回应:

+------+--------------+

| Dept | Count(*) |

+------+--------------+

|Admin | 1 |

|PR | 2 |

|TP | 3 |

+------+--------------+

JDBC 程序

下面给出的是JDBC程序应用对给定的GROUP BY子句例子。

importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.Statement;importjava.sql.DriverManager;publicclassHiveQLGroupBy{privatestaticStringdriverName="org.apache.hadoop.hive.jdbc.HiveDriver";publicstaticvoidmain(String[]args)throwsSQLException{// Register driver and create driver instanceClass.forName(driverName);// get connectionConnectioncon=DriverManager.getConnection("jdbc:hive://localhost:10000/userdb","","");// create statementStatementstmt=con.createStatement();// execute statementResultsetres=stmt.executeQuery(“SELECTDept,count(*)”+“FROM employee GROUP BY DEPT;”);System.out.println(" Dept \t count(*)");while(res.next()){System.out.println(res.getString(1)+" "+res.getInt(2));}con.close();}}

保存程序在一个名为HiveQLGroupBy.java文件。使用下面的命令来编译并执行这个程序。

$ javacHiveQLGroupBy.java

$ javaHiveQLGroupBy

输出:

Dept Count(*)

Admin 1

PR 2

TP 3

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值