
当每次刷新页面时从sql数据库中读取不同10条数据
展开全部
方法很多,选择适合你的:
对于数据量小的记录可以考虑一下方法实现随机获取记录
select top 1 * from table order by newid()
top后面的数字就是你要随即搜索出来几条数据,这个方法只适用sql server
SELECT top 4 * FROM 表 ORDER BY Rnd([一个自动编号字段])
Randomize
SELECT TOP 5 [TestTitle] FROM [TestTable] ORDER BY Rnd(-(TestID+"&Rnd()&"))
这句适用于ACCESS的
select * from table_name order by rand() [limit num];
mysql的随机查询语句。
参考资料:
order newid()
扫描整表,并对每条记录生成一个无序的不重复的ID,实际查询时每条记录都要插入一newid(),再对插入的newid数据排序,对于大量的数据,效率肯定会很慢.
大量数据时,建议给记录编连续的号码,再用随机函数rand()取记录
提供一个解决方案:
在前台生成一个从1~10000的随机数@rndnum ,然后这样查询
SQL code:SELECT top 10 ID,ClassID,title,title,[content],Author,ComeFrom,AutoPages FROM [Article] where id >= @rndnum order by id
这样试试看,同时如楼上所说,如果content是text等类型,先去掉这个字段
方案1:
DECLARE @i INT
SELECT @i = RAND(CHECKSUM(NEWID())) *10
SELECT TOP 1 * FROM Products WHERE ProductID BETWEEN @i AND @i + 100 ORDER BY NEWID()
方案2:
DECLARE @i INT
SELECT @i = RAND(CHECKSUM(NEWID())) *76 --其中76为总记录数-1,当取前10条则减9.
SELECT TOP 1 * FROM Products WHERE ProductID >=@i
更多这方面的问题可以参考这里:http://www.jc0088.com/Class-3.aspx
对于数据量小的记录可以考虑一下方法实现随机获取记录
select top 1 * from table order by newid()
top后面的数字就是你要随即搜索出来几条数据,这个方法只适用sql server
SELECT top 4 * FROM 表 ORDER BY Rnd([一个自动编号字段])
Randomize
SELECT TOP 5 [TestTitle] FROM [TestTable] ORDER BY Rnd(-(TestID+"&Rnd()&"))
这句适用于ACCESS的
select * from table_name order by rand() [limit num];
mysql的随机查询语句。
参考资料:
order newid()
扫描整表,并对每条记录生成一个无序的不重复的ID,实际查询时每条记录都要插入一newid(),再对插入的newid数据排序,对于大量的数据,效率肯定会很慢.
大量数据时,建议给记录编连续的号码,再用随机函数rand()取记录
提供一个解决方案:
在前台生成一个从1~10000的随机数@rndnum ,然后这样查询
SQL code:SELECT top 10 ID,ClassID,title,title,[content],Author,ComeFrom,AutoPages FROM [Article] where id >= @rndnum order by id
这样试试看,同时如楼上所说,如果content是text等类型,先去掉这个字段
方案1:
DECLARE @i INT
SELECT @i = RAND(CHECKSUM(NEWID())) *10
SELECT TOP 1 * FROM Products WHERE ProductID BETWEEN @i AND @i + 100 ORDER BY NEWID()
方案2:
DECLARE @i INT
SELECT @i = RAND(CHECKSUM(NEWID())) *76 --其中76为总记录数-1,当取前10条则减9.
SELECT TOP 1 * FROM Products WHERE ProductID >=@i
更多这方面的问题可以参考这里:http://www.jc0088.com/Class-3.aspx
参考资料: http://www.jc0088.com/Class-3.aspx
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select top 10 * from tableA orderby newid()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个表态变量,每刷新一次值加1,再根据这个值来取数据.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
麻烦说清楚是JAVA还是JSP,这两个里面的代码有很大区别!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询