倒排序查询,正排序显示,如何实现?
比如一个话题的讨论比较火热。
如果总是正排序查询正排序显示的话,每次页面打开都最先显示最早的那些条回复,这样觉得不爽;
但是如果倒排序查询倒排序显示的话,有些回复是根据上一条的内容有感而发,这样又会让读帖的人找不着北。
现在我倒是想出一个折中的办法,也就是页面打开,专用一个数据控件来显示最近30条回复,数据表的设计有个字段是ID标识自增,请问各位哥们姐们如何实现。
查询的时候,我知道可以用TOP 30和ID倒排序来实现,但是这样的话,默认也是倒排序显示,我的目的就要让查出来的这30条在数据控件中正排序显示。
哥们不要给我说,MAX(ID)减去30,然后再查询哈,因为有些回复是会被删除的,高手都不会这样说的哈,嘿嘿……
谢谢了,3Q
[解决办法]
select * from(select top 30 * from tb order by id desc) as t order by id asc
[解决办法]
倒排序查询,正排序显示
Sql语句按照倒排序来写,使用Command命令得到一个DataTable(DT1)之后,创建DataTable的副本(DT2),用来从后到前的拷贝之前的DT1,再将DT2作为数据源绑定到控件。
[解决办法]
可在SQL中完成,但是对SQL不熟的话
可倒排序读出,根据你的需要在代码中,正排序好之后,构建DataTable,绑定到控件
[解决办法]
设置数据源的defaultview不行吗
[解决办法]
不是很明白,但是,如果数据库中不做排序的话,在C#中应该可以这样去处理。
1.将数据存在DataTable中,让后 dt.DefaultView.Sort = "id desc";
2.Linq是很强大的
[解决办法]
按照 4 5楼应该可以解决问题。