问题1:使用 select * from newsinfo order by add_time desc, id desc; 语句查询的数据并未按照时间排序
解决:
当遇到这个问题是我也很是纳闷,之后发现是由于数据中add_time字段不是日期格式,而是文本格式
只要将语句改成如下即可:
select * from newsinfo order by cdate(add_time) desc,id desc;
问题2: 做一个小网站,测试要求相关新闻必须做成随机的形式,因为数据库为Access的所以查了下资料
原来使用 select * from abc order by rnd(id); 所以得到的随机数据基本相同.
解决:
string sql = "select top " + Count + " * from NewsInfo where id in (select top " + Count + " id from newsinfo where id<>" + id + " and NewTypeId=(select NewTypeId from NewsInfo where id=" + id + ") order by right(cstr(rnd(-int(rnd(-timer())*100+id)))*1000*Now(),2))";
这样的话数据就可以避免!