关于 Oracle in 排序问题
2009-03-31 13:47
489 查看
****sql***and id in (156,296,272,48,261,239,46,120,199,93) ;
****sql***and id in (156,296,272,48,261,239,46,120,199,93) order by case id
when 156 then 1
when 296 then 2
when 272 then 3
when 48 then 4
when 261 then 5
when 239 then 6
when 46 then 7
when 120 then 8
when 199 then 9
when 93 then 10 end
第二个sql语句是由下面Java代码拼出来的:
//字符串id 就是156,296,272,48,261,239,46,120,199,93
String ids = LuceneQueryDao.findNewsByLuceneSql(ql,startNum,endNum);
String idarr[] = ids.split(",");
StringBuffer sql = new StringBuffer();
sql.append("and n.id in (");
sql.append(ids);
sql.append(") order by case id ");
for(int i=0;i<idarr.length;i++){
sql.append(" when ");
sql.append(idarr[i]);
sql.append(" then ");
sql.append(i+1);
}
sql.append(" end");
System.out.println("****sql***"+sql.toString());
网上看到有不少方法,说的不是很清楚。希望专业人士看到后给出建议!
另外我同学说写个方法给结果排序,不知道是代码快呢还是sql语句快呢?
****sql***and id in (156,296,272,48,261,239,46,120,199,93) order by case id
when 156 then 1
when 296 then 2
when 272 then 3
when 48 then 4
when 261 then 5
when 239 then 6
when 46 then 7
when 120 then 8
when 199 then 9
when 93 then 10 end
第二个sql语句是由下面Java代码拼出来的:
//字符串id 就是156,296,272,48,261,239,46,120,199,93
String ids = LuceneQueryDao.findNewsByLuceneSql(ql,startNum,endNum);
String idarr[] = ids.split(",");
StringBuffer sql = new StringBuffer();
sql.append("and n.id in (");
sql.append(ids);
sql.append(") order by case id ");
for(int i=0;i<idarr.length;i++){
sql.append(" when ");
sql.append(idarr[i]);
sql.append(" then ");
sql.append(i+1);
}
sql.append(" end");
System.out.println("****sql***"+sql.toString());
网上看到有不少方法,说的不是很清楚。希望专业人士看到后给出建议!
另外我同学说写个方法给结果排序,不知道是代码快呢还是sql语句快呢?
相关文章推荐
- 关于Select Where In 的排序问题
- 关于oracle in后的参数个数超过1000问题
- 关于oracle中排序的问题
- 关于Oracle存储过程中的IN子句传参的问题(不能直接传字符串,需要处理)
- 关于oracle分组后组外排序的问题
- 关于Oracle 大数据排序问题的优化之一
- 关于空值null的排序问题 mysql 和oracle
- 关于用OracleInProcServer.XOraSession连接oracle 的问题。
- 关于Select Where In的排序问题
- 关于oracle 数据库中字符字段的排序问题
- oracle中关于null排序的问题
- oracle--in与not in 语句 关于空值问题记录
- 关于Oracle中排序后取前几行的问题
- 关于Select Where In 的排序问题
- 关于oracle对null排序的问题
- 关于oracle in后的参数个数超过1000问题
- 关于oracle分组后组外排序的问题
- 转AskTom:Oracle中关于in跟Exist谁效率高的问题。
- 关于Select Where In 的排序问题
- 关于oracle中传入参数和in一起用的问题