目前要对一张表进行排序,CommentImages里面存的图片名字(如201312kdks.jpg),还有一个字段 CommentDate时间类型,现在要求 有图片的在上面,没有图片的(图片字段为空)的在下面,
有图片的按照CommentDate倒叙排列,没有图片的也按照倒叙排列。
我的方法是 order by Convert(bit,LEN(ISNULL(CommentImages,0))) desc,CommentDate desc) 但是这样 无法为CommentImages加上索引 所以很慢,即使分页了,只有10条数据,很慢
求大神降临
可以把有图的 先取出来再排序 没有图的 取出来放后面 排序 只是一种思路 希望能帮到你
恩 但是数据量大,得leftjoin ,性能得不到提升。
Order by CommentImages desc,CommentDate desc不行吗?
这样,CommentImages多的就会在前面,有图片的就不会按照CommentDate排序了
@愚智: 多用一个字段 IsHasImage=(case CommentImages is null then 0 else 1)
然后用IsHasImage和ComentDAte排序。