从表中随机选择X个记录Y小时

时间:2014-10-16 06:08:25

标签: mysql sql

我试图找出从10表中随机选择24 hours记录的最佳方法,该语句应该在24小时内返回相同的集合

SELECT * FROM tableX LIMIT 10

我想我可以使用MMDDYY作为算法的输入,该算法将接受1个输入并返回该输入的同一组数据。并在WHEREORDER BY中使用该选项,然后每天选择将返回接下来24小时的不同数据。

例如:

我有一个名为news的表我希望能够选择10 Random news,但我不希望每次用户刷新页面时更改值,我想要相同的新闻出现24小时。第二天它将变成另一组随机新闻。

1 个答案:

答案 0 :(得分:1)

基于this response,您可以从表格中选择随机记录:

SELECT * FROM table ORDER BY RAND() LIMIT 10;

根据MySql doc,函数RAND()可以将种子作为参数。

所以你应该使用:

 SELECT * FROM table ORDER BY RAND(yyyymmdd) LIMIT 10;

其中yyyymmdd是表示日期的整数。