1
下面的两种排序方法,可以确保NULL值总在最后
ORDER BY ISNULL([date], '9990-12-31')
ORDER BY ISNULL([date], '1900-1-1') DESC
2
如果这是一个学校里的题目,用冒泡排序是可以的。
虽然效率不高,但这种算法占用内存最少。
首先假设你的数据不太大,比如一条记录占10 bytes,500万就是50M。
对现在计算机还是可以承受的。
如果这是一个实际项目,你这么做排序没有任何意义。
标准的做法是把需要查询的那部分数据插入数据库。
然后再利用数据库的查询功能进行 *** 作。
排序算法很多,需要很多更详细的资料才能判断哪个算法更有利。
下面的链接有各种算法的优劣比较,和例子。
(原来的链接在百度居然通不过)
看例子
import javautilArrayList;
import javautilCollections;
import javautilComparator;
import javautilList;
import javautilScanner;
public class Test {
public static void main(String[] args) {
List<Record> list = new ArrayList<Record>();
Collectionssort(list, new Comparator<Record>(){
public int compare(Record o1, Record o2) {
if(o1getKey1() > o2getKey1()){
return 1;
}else if(o1getKey1() == o2getKey1()){
if(o1getKey2() > o2getKey2()){
return 1;
}else if(o1getKey2() == o2getKey2()){
//TODO: compare key3
return -1;
}else{
return 0;
}
}else{
return 0;
}
}
});
}
}
class Record{
private int key1, key2, key3;
public int getKey1() {
return key1;
}
public int getKey2() {
return key2;
}
public int getKey3() {
return key3;
}
}
以上就是关于用JAVA或用SQL语句排序全部的内容,包括:用JAVA或用SQL语句排序、c#排序,且数据量很大。大概500万。、Collections.sort方法对数据库取出的list排序 按着5个key 进行排序,求解!~java等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)