表结构:字段:orderid orderTitle flowNo Re
1111 题。。 SOO1 销售
1112 SOO1 销售
1113 SOO2 销售
1114 SOO3 销售
1115 SOO3 销售
像上面的存储结构。
现在我想通过flowNo查找出flowNo相同的记录组中的一个,而且hibername要返回所有字段来填充实体.不能用groub by想要的结果像下面:字段:orderid orderTitle flowNo Re
1111 题。。 SOO1 销售
1113 SOO2 销售
1114 SOO3 销售就是去掉flowNo重复的
1111 题。。 SOO1 销售
1112 SOO1 销售
1113 SOO2 销售
1114 SOO3 销售
1115 SOO3 销售
像上面的存储结构。
现在我想通过flowNo查找出flowNo相同的记录组中的一个,而且hibername要返回所有字段来填充实体.不能用groub by想要的结果像下面:字段:orderid orderTitle flowNo Re
1111 题。。 SOO1 销售
1113 SOO2 销售
1114 SOO3 销售就是去掉flowNo重复的
create table test(orderid int,orderTitle varchar(50),flowNo varchar(20),Re varchar(50))
insert test select 1111,'题..','s001','销售'
union all select 1112,'','s001','销售'
union all select 1113,'','s002','销售'
union all select 1114,'','s003','销售'
union all select 1115,'','s003','销售'
goselect * from testselect * from test t where not exists(select * from test where orderid<t.orderid and flowNo = t.flowNo)
orderid orderTitle flowNo Re
----------- -------------------------------------------------- -------------------- --------------------------------------------------
1111 题.. s001 销售
1112 s001 销售
1113 s002 销售
1114 s003 销售
1115 s003 销售(所影响的行数为 5 行)orderid orderTitle flowNo Re
----------- -------------------------------------------------- -------------------- --------------------------------------------------
1111 题.. s001 销售
1113 s002 销售
1114 s003 销售(所影响的行数为 3 行)
承揽:网站开发,SEO优化,毕业设计,OA,ERP,空间,域名,企业级管理系统 业务范围:[.net] [java]
我这里是已经用hibernate 的分页了。不能那么做
criteria.setProjection(Projections.groupProperty("flowNo"));
List all = criteria.list();
你只要在 Select distinct * From .......加关键字 Distinct 就可以,还避免了 Order By 对于效率的流失 !你试试吧 !
delete tablename where orderid not in(select min(orderid) from tablename group by flowNo)
上面的不知道可以不~~~
如果是我我会先找出orderid不是最小的对象~~然后用session.delete()方法删除