+ -
当前位置:首页 → 问答吧 → 如何读取数据库并随机显示不重复的数据?

如何读取数据库并随机显示不重复的数据?

时间:2011-12-11

来源:互联网

页面上有一个按钮,点击一次按钮,页面就会显示7行数据,每点击一次按钮,前面显示的数据不会消失,数据库表TabelC有73行数据,如何读取数据库表TabelC并随机显示7行数据,并且每次显示的7行数据都不重复,而且最后一次点击按钮依然会显示最后的3行数据

作者: scorpio78787   发布时间: 2011-12-11


select top 7 * from tb where id not in(已经取过的数据) order by newid()

作者: HEROWANG   发布时间: 2011-12-11

not in(已经取过的数据),这个(已经取过的数据)的临时表如何得出?

作者: scorpio78787   发布时间: 2011-12-11

引用 1 楼 herowang 的回复:
select top 7 * from tb where id not in(已经取过的数据) order by newid()


学习了

作者: a544589668   发布时间: 2011-12-11

select top 7 * from tb wherec id not in(select id from #tb)
 order by newid()
需要把以前去过的数据放到临时表里比对,如果出现过就不查出来了

作者: ssp2009   发布时间: 2011-12-11

那还不如每次打开页面的时候就把73条数据都按newid()排序好,放到临时表,再依次取1-7,8-14,。。。

作者: p2227   发布时间: 2011-12-11

引用 4 楼 ssp2009 的回复:
select top 7 * from tb wherec id not in(select id from #tb)
order by newid()
需要把以前去过的数据放到临时表里比对,如果出现过就不查出来了



not in(select id from #tb)
中的#tb如何得出?

作者: scorpio78787   发布时间: 2011-12-11

点击一次按钮,页面就会显示7行数据,每点击一次按钮,前面显示的数据不会消失,也就是将页面上出现过的Id组成一个临时表,或数组,关键是这个临时表如何组成呢?

作者: scorpio78787   发布时间: 2011-12-11