获取每周更改的10个随机行(特色条目)

时间:2013-05-23 22:44:59

标签: mysql sql select phpmyadmin

我尝试获取一个表的10个随机行。许多类似的问题都存在,但我还有另外一个条件:我希望这个列表每周更新一次,每年52次。这10个项目将成为本周的“随机特色”。

所以,我发现这个片段可以获得每次调用脚本时随机变化的行

select top 10 percent * from [yourtable] order by newid();

问题在于我不能简单地添加种子,在这种情况下,种子将是week-of-year。知道如何实现这个吗?

1 个答案:

答案 0 :(得分:0)

您的代码示例是T-SQL(SQL Server)。因此,在SQL Server中执行此操作非常简单:

select *
from (select t.*,
             row_number() over (partition by datepart(wk, thedate) order by newid()) as seqnum
      from [yourtable] t
     ) t
where seqnum <= 10;

MySQL不支持row_number(),因此该数据库的方法会有所不同。