hql语句怎么消除重复内容

2024-12-02 07:04:41
推荐回答(5个)
回答(1):

1、hql语句和sql语句其实差不多的,只是把表名、字段名用做相对应的类名、属性名等。
2、distinct 只能用于单个字段去除重复,对于多个字段去除重复使用distinct很可能会得到你不想要的结果。
1、如果有多个字段去除重复你可以是用group by语句。
2、这里不知道你根据哪几个字段排重,举个例子,比如你的a表对应的有 b、c、d字段,需要去除重复,
例如:对应的实体类为A,有属性 b、c、d
HQL为:FROM A as a GROUP BY a.b,a.c,a.d;

回答(2):

你好
hql语句和sql语句其实差不多的,只是把表名、字段名用做相对应的类名、属性名等。
distinct 只能用于单个字段去除重复,对于多个字段去除重复使用distinct很可能会得到你不想要的结果。
如果有多个字段去除重复你可以是用group by语句。
这里不知道你根据哪几个字段排重,举个例子,比如你的a表对应的有 b、c、d字段,需要去除重复,
对应的实体类为A,有属性 b、c、d
HQL为:FROM A as a GROUP BY a.b,a.c,a.d;
希望对你有帮助

回答(3):

参考如下:

/**
* 功能:根据品牌查询
*
* @param pageSize
* 每页大小
* @param currentLPagem
* 当前第几页
* @param productBlack
* 产品品牌
* @param productBlackItem
* 产品分类
* @param productSize
* 产品尺码
* @param keyWord
* 搜索关键字
* @return
*/
public pageBean seachProductByBrank(int pageSize, int currentLPage,
String product_Brank, String product_itemName) {
// final String hql = "from " + OgrilProducts.class.getName()
// + " where product_Brank='" + product_Brank
// + "' and product_itemName='" + product_itemName
// + "' order by product_registerDate desc";
final String hql = " from "
+ OgrilProducts.class.getName()
+ " as product where product.productItemName='"
+ product_itemName
+ "' and productBrank='"
+ product_Brank
+ "' and not exists( from "
+ OgrilProducts.class.getName()
+ " where productItemName='"
+ product_itemName
+ "' and productBrank='"
+ product_Brank
+ "' and productItemNumber=product.productItemNumber and productId int allRow = this.getAllRowCount(hql);// 总记录数
int totalPage = pageBean.countTotalpage(pageSize, allRow);// 总页数
final int offset = pageBean.countOffset(pageSize, currentLPage);// 当前页开始记录
final int length = pageSize;
final int currentPage = pageBean.countCurrentPage(currentLPage);
List list = this.queryForPage(hql, offset, length);// 记录
// 把分页信息保存到Bean中
pageBean pagebean = new pageBean();
pagebean.setPageSize(pageSize);
pagebean.setCurrentPage(currentPage);
pagebean.setAllRow(allRow);
pagebean.setTotalPage(totalPage);
pagebean.setList(list);
return pagebean;
}

回答(4):

你用的是什么数据库?我给你点意见,在用hql语句不好写的时候用sqlquery写sql语句,在关联不想配的时候可以用new Map,hibernate其实也挺灵活,不要死扣hql语句,如果你用的是oracle的话,这样写:from House_info hi group by hi.houseName,hi.houseAddress,hi.user_info.userName应该会报错

回答(5):

SQL语句?
select distinct 字段名 from 表名 order by 字段名
能显示字段名内不重复的内容。