更新日期:2024年09月11日
返回不同的非NULL 的值的总数目。
示例
示例1:返回lo_orderkey 列中不同的非NULL 的值的总数目。
gbase> SELECT COUNT(DISTINCT lo_orderkey) FROM ssbm.lineorder;
+-----------------------------+
| COUNT(DISTINCT lo_orderkey) |
+-----------------------------+
| 1500000 |
+-----------------------------+
1 row in set
在GBase UP 中,用户通过给定一个表达式列表而获取不包含NULL 不同表达式组
合的数目。而在标准SQL 中,用户必须在COUNT(DISTINCT...)中连接所有的表达
式。
hiberante 使用
1. 根据hibernate 版本获取对应的dialect 包。
2. 引入hibernate,dialect 包和jdbc 驱动包
3. 配置hibernate.cfg.xml,设置gbase 使用的方言类,参考黑色背景设
置。
fileSql=true
4. 程序验证
package gbase.hibernate.clienttest;
import java.util.List;
import junit.framework.TestCase;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司
- 107 -
import org.hibernate.Transaction;
public class clientTest extends TestCase{
private SessionFactory sf;
Session session = null;
PoliceAudit adt = new PoliceAudit();
Transaction tx = null;
@Override
public void setUp(){
sf = new
Configuration().configure().buildSessionFactory();
}
@Override
public void tearDown(){
if(sf != null){
sf.close();
}
}
public void testInsertOfCurd() {
try{
for (int i=1;i<=5;i++){
session = sf.openSession();
Transaction tx = session.beginTransaction();
adt.setCreateDate(java.sql.Date.valueOf("2011-05
-01"));
adt.setAuditType(i+1);
adt.setContentId("test client project");
adt.setCount(i);
adt.setStatus(i);
session.save(adt);
session.flush();
tx.commit();
}
session.close();
}catch(Exception ex){
ex.printStackTrace();
GBase 8a 程序员手册JDBC 篇
- 108 -
南大通用数据技术股份有限公司
}
}
public void testSelectOfCurd(){
try{
session = sf.openSession();
String hql = "from t_police_auditing in class
gbase.hibernate.clienttest.PoliceAudit";
Query q = session.createQuery(hql);
List
for (int j=0;j
adt = (PoliceAudit)ls.get(j);
}
session.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司
- 109 -
7 GBase JDBC 使用示例
本章节共包括15 部分,分别覆盖了以下功能点的样例:
1) 使用JDBC 创建连接;
2) 自动装载JDBC 驱动;
(JDBC4.0 新特性需要jre1.6 及以上版本支持)
3) 通过JDBC 执行查询SQL 语句,并从ResultSet 中读取结果;
4) 通过JDBC 执行DDL 和DML 语句;
5) 通过JDBC 调用存储过程;
6) NATIONAL
Character 相关操作; (JDBC4.0 新特性需要jre1.6 及以上
版本支持);
7) 大对象类型使用;
8) 使用Statement.getGeneratedKeys()获取AUTO_INCREMENT 列的值;
9) 使用SELECT LAST_INSERT_ID()获取AUTO_INCREMENT 列的值;
10) 使用可更新结果集获取AUTO_INCREMENT 列的值;
11) GBase JDBC 在Jboss 应用中使用示例;
12) GBase JDBC 在Tomcat 应用中使用示例.
13) GBase JDBC 集群高可用性(IP 自动路由,需要GBaseJDBC8.3.81.53
及以上版本)
14) GBase JDBC 集群高可用负载均衡(GBaseJDBC8.3.81.5x 及以上版本)
15)GBase JDBC 流式读取使用示例
GBase 8a 程序员手册JDBC 篇
- 110 -
南大通用数据技术股份有限公司