关于同类项合并的问题
大家帮我想想。就是查询一张表里面,有多条记录,其中有两条记录的 A字段和B字段是一模一样的,这样的情况下我就要把这两条记录合并成为一条记录,每条记录都有时间的,合并之后时间按照最新那条记录的时间。这是在java中实现的。我实在不知道怎么办。大神们给我一条思路也行啊。 --------------------编程问答-------------------- 可以试试 Map<A, Map<B, XXXX>> --------------------编程问答-------------------- 具体要看数据量有多大,如果数据量小的话,可以考虑用map,如果数据量大的话,可以考虑用存储过程实现。 --------------------编程问答-------------------- 用存储过程合并吧,union然后把那个字段修改成唯一的 --------------------编程问答-------------------- 方法多种多样,要根据实际情况去做。
给你一个很笨很好理解的方法。
比如先查出相同的2条记录。把A和B,以及最新的那个时间time记录下来,然后把这两条直接从数据库中删除,再添加一个新的记录,A,B,time。。 --------------------编程问答-------------------- select a,b,max(updatetime),.. from table
group by a,b --------------------编程问答-------------------- java实现:
1,分别查询出a表和b表的记录,封装成javaBean Aj和Bj
2,定义一个VO对象,其属性是你业务需求的且属性名(合并后的)要和Aj或Bj中属性名要相同
3,判断对象Aj属性A的值和对象Bj属性B的值是否相等
4,如果相等,用org.apache.JavaBeanUtil工具将Aj和Bj复制到VO
5,再判断哪个time最新(time1>=time2),再将最新的time set()到vo中。
补充:Java , Web 开发