站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题数据库里面查询的时候增加order by 排序字段

数据库里面查询的时候增加order by 排序字段

摘要: 数据库里面查询的时候增加order by 排序字段


大家好。。。想问一下 。。。对于一个通过查询语句获得的结果集rs
如果对这个rs重新排序。。
例如:
name sex age
'yy' 'female' 12
'xx' 'male' 22
'tt' 'male' 33
我现在想把数据记录调整为
name sex age
'xx' 'male' 22
'yy' 'female' 12
'tt' 'male' 33

我该怎么去做。。



jdk里有sort方法 直接可以用


为什么不在SQL中加个order by呢?


没看懂LZ是按什么排的序.


就是啊,横看竖看都不知道是什么顺序


同样看不懂,如果要排序最好在sql中实现


看你需要对什么排序了
如果对某一个字段或者几个字段排序有两个实现方法:
1.数据库里面查询的时候增加order by 排序字段
2.放到treeset里面可以实现排序
第二种方法可以实现复杂的排序.


的确直接在操作查询的时候排序会快很多。建议LZ在SQL语句中增加order by 排序字段进行排序。


大家都理解错了。。我的意思不需要orderby。
直接对结果集进行处理。
如何对一个获得的结果集 进行二次处理。!
我想把其中的一条数据记录放到第一位。
这条记录是随意的。!


这个啊,用LinkedList + Hashtable吧,可以解决。如果你对列也有要求,建议可以用
LinkedList + LinkedHashSet


不推荐ArrayList,效率没有LinkedList高,而且有数量限制


直接修改ResultSet的排序估计不太可行吧。

你最好就是使用TreeSet去做,然后在MyUserObject中实际Comparable接口中的方法,然后
TreeSet alluser = new TreeSet();
while(rs.next()) {
MyUserObject user = new MyUserObject(rs.getString(1), rs.getString(2), rs.getInt(3));
alluser.add(user);
}

...

这样操作后就set就按你写的顺序去排列好了。不要使用LinkedList及ArrayList


ChDw . 你的MyUserObject类我怎么没有找到,你这样操作的话,就是说需要对所有的结果集进行操作.我并不希望这样,这和我的初衷不一样........我的想法是:
对于一个结果集合.我获得之后,假设里面有三百条数据.里面存放的是职业(农名,程序员,会计,学生,司机,boss,经理.................)其中第一百条的数据是医生.我现在的操作是把医生这条数据放到最前面.其他的数据的相对位置不变.至于把这个结果集怎么封装.我没有要求.
目的是 用于前台显示的时候 比如修改一个人的职业信息时候,修改栏是一个下拉列表.以前处理的时候.先把所有的职业信息全显示,然后再根据这个人的职业信息,对这个下拉列表进行处理.这些处理都是在js代码里面..我现在不想用js. 把这样的处理放在后台.当前台显示这个下拉列表的时候.它取得的结果集 的第一条数据就是医生(或者说是这个人的职务信息)


晕死,MyUserObject当然是指你自己写一个类,JDK怎么可能有这个类。

如果你只是要求部分数据提前、其它数据顺序不变的话,则不应该使用我上述的排序算法。

换一个做法就行啦:
List advanceUsers = new ArrayList();
List remainUsers = new ArrayList();

while(rs.next()) {
MyUserObject user = new MyUserObject(rs.getString(1), rs.getString(2), rs.getInt(3));
if(needAdvance(user))//在这里写一个方法去判断到底这个用户是否该提前
advanceUsers.add(user);
else
remainUsers.add(user);
}

...
这样先显示advanceUsers 再显示remainUsers 就完事了


多谢米哥..过两天再给你分..我再看看其他兄弟姐妹有没有更好的方法..
我现在有个想法.就是定义一个list.先做advanceUsers操作.操作之后用deleteRow删除rs中该条记录.循环到最后,游标回到前面,再把余下的记录放到这个list里面.
不知道这个想法符合实际吗....
还有个问题,请教大家,对于一个rs结果集合.我循环到最后,这个rs是不是就自动关闭了.游标无法回到前面了. 我以前这么试过.但是最后rs 就 null 了...找资料看..也没有看到相关的资料..还请有 大牛 们 不吝赐教!
小弟 多谢了.


↑返回目录
前一篇: 你的applet.java的注释也包含这个语句,那么appletviewer applet.java也行
后一篇: 比如进行这样的操作 b[1]&OXFF