关于SQL语句TOP N和ORDER BY的问题!希望各位能帮个忙,不胜感激!
想要取出一个表中的前10条纪录
我用如下SQL语句
"SELECT TOP 10 SongID,SongName,ListenHits,DownHits FROM Songs WHERE SingerID = 5 ORDER BY (ListenHits+DownHits) DESC"
但是问题来了
因为数据库中有很多条(ListenHits+DownHits)相等的语句。
所以取出来的纪录大于10条。
这可如何是好??
有人说用FOR循环,可是如果纪录不满10条会引起索引溢出错误。
然后又有人说在For循环内加IF判断,那样的话会增加程序开销,不是我想要的。
所以想问一下,有没有办法在一条SQL语句中准确的提取出想要的纪录条数而不用到程序中去判断或循环。