当前位置:数据库 > Oracle >>

oracle如何得到去重后的统计数

oracle如何得到去重后的统计数
 
这个问题,纠结了我一个晚上。 
我的场景是,一个酒店对应多个房间。 
查询条件是,根据房间描述得到酒店。 
这样,就会有重复的酒店出来。 
 
找了一些资料,基本都是行不通。今早不死心,又搞了一下。结果被我找到答案了。 
唉,完全是不熟悉hibernate的原因呀。。一般情况下,我们都是用HQL进行操作。 
这样会有一个问题。子查询会提示找不到表或视图,或者是 
Java代码  
17:09:07,563 ERROR PARSER:33 - line 1:41: unexpected token: (  
17:09:07,581 ERROR PARSER:33 - line 1:58: unexpected token: count  
17:09:07,608  WARN RequestProcessor:516 - Unhandled Exception thrown: class org.hibernate.hql.ast.QuerySyntaxException  
2010-11-17 17:09:07 org.apache.catalina.core.StandardWrapperValve invoke  
严重: Servlet.service() for servlet action threw exception line 1:41: unexpected token: (  
 
问题所在:createQuery  改为 createSQLQuery 
 
本查询时用纯sql语句写成,不是用hql,所以改为createSQLQuery 
 
写SQL时,注意表名不是类名。 
 
小段代码: 
重点是如何得到去重后的数据集。 
Java代码  
select distinct hotel.id from DB_SELL_DIN_HOTEL hotel,Db_Sell_Din_Hotel_Room room where hotel.id=room.hotelId  

 


CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,