22,209
社区成员
发帖
与我相关
我的任务
分享
SELECT top("+this.PAGEROW+") * FROM songinfo WHERE songid NOT IN (SELECT TOP("+num+") songid FROM songinfo)
/**
* 分页查询
* @param page 当前页数
* @return
*/
public List<Songs> getSongsPaginQuery(int page){
List<Songs> songList = new ArrayList<Songs>();
int num = (page-1) * this.PAGEROW;//要被排除的行数
String sql = "select top("+this.PAGEROW+") ( SELECT * FROM songinfo WHERE songid NOT IN (SELECT TOP("+num+") songid FROM songinfo) order by hits)";
try{
DBConnection db = new DBConnection();
ResultSet rs = db.dataQuery(sql);
while(rs.next()){
Songs song = new Songs();
song.setSongid(rs.getInt("songid"));
song.setTypeid(rs.getInt("typeid"));
song.setAbc(rs.getString("abc"));
song.setSongurl(rs.getString("songurl"));
song.setDateandtime(rs.getString("dateandtime"));
song.setTitle(rs.getString("title"));
song.setSinger(rs.getString("singer"));
song.setImgb(rs.getString("imgb"));
song.setImgs(rs.getString("imgs"));
song.setLrc(rs.getString("lrc"));
song.setChannel(rs.getString("channel"));
song.setHits(rs.getInt("hits"));
song.setDemo(rs.getString("demo"));
songList.add(song);
}
db.close();
}catch(Exception e){
e.printStackTrace();
}
return songList;
}
和java代码没什么关系呀 主要 是 查询语句 我一直 写不出来 要加 按 hits列排序SELECT top("+this.PAGEROW+") * FROM songinfo WHERE songid NOT IN (SELECT TOP("+num+") songid FROM (select * from songinfo order by hits ) a)
select top(8) ( SELECT * FROM songinfo WHERE songid NOT IN (SELECT TOP(0) songid FROM songinfo) order by hits)
这个是生成出来的sql语句。SELECT top("+this.PAGEROW+") * FROM songinfo WHERE songid NOT IN (SELECT TOP("+num+") songid FROM songinfo) order by hits