大神看看能不能实现

wnf2009 2012-10-20 11:00:56
我现在从数据库里查到的数据如下
A B C
------------
a b 5
a b @@
b c df
b c ss
c d @@
c d tt
现在就是想得到这样的结果:如果有A,B相同的组合,那么输出C为@@的那条。如果@@不存在,则输出本组的第一条
比如说上述数据就输出
a b @@
b c df
c d @@

公司里的代码格式比较固定,大神看看能不能实现。想在do-while里面全部实现?

String sql = "select * from ttt order by a,b,c";
// String sql = "select * from weather";
ResultSet rs = BaseDao.execQuery(sql);
String a = null;
String b = null;
String c = null;
boolean isLoop = true;
do {
if(rs.next()){
a = rs.getString("a");
b = rs.getString("b");
c = rs.getString("c");
}else{
isLoop = false;
rs.close();
}
} while (isLoop);
}
...全文
120 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdojqy1122 2012-10-20
  • 打赏
  • 举报
回复

String a,b,c;
String oldA, oldB, oldC;
if (rs.next()) {
if (flag) {
oldA = rs.getString("a");
oldB = rs.getString("b");
oldC = rs.getString("c");
flag = false;
} else {
a = rs.getString("a");
b = rs.getString("b");
c = rs.getString("c");
if (oldA.equals(a) && oldB.equals(b)) {
if ("@@".equals(c)) {
oldA = a;
oldB = b;
oldC = c;
}
} else {
System.out.println(oldA + "\t"+oldB+"\t"+oldC);
oldA = a;
oldB = b;
oldC = c;
}
}
}
System.out.println(a + "\t"+b+"\t"+c);
wnf2009 2012-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
可以用存储过程吗
[/Quote]
不行额
现在这个是业务逻辑层,。数据层的sql已经写好了,是另外一个团队写的,不是存储过程
ld191474639 2012-10-20
  • 打赏
  • 举报
回复
可以用存储过程吗

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧