自动从表中选择随机行

时间:2013-02-12 22:46:55

标签: php mysql random

我正在开发一个需要后端服务的项目。我使用MySQL和PHP脚本来实现与服务器端的通信。我想在后端添加一个新功能,即能够每天从table_members自动生成一个包含3个“幸运”成员的表。换句话说,我希望MySQL从表中选择3个随机行,并将这些行添加到另一个表中(如果可能的话)。我理解,如果在该表上手动调用RAND()函数,我可以实现这一点,但......会很痛苦!

有什么方法可以实现上述目标?

更新:

以下是我在其他用户提出意见/建议后的解决方案

CREATE EVENT `draw` ON SCHEDULE EVERY 1 DAY STARTS '2013-02-13 10:00:00' ON COMPLETION NOT PRESERVE ENABLE DO 
INSERT INTO tbl_lucky(`field_1`) 
SELECT u_name 
FROM tbl_members 
ORDER BY RAND() 
LIMIT 3

我希望这对其他人有帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用INSERT ... SELECT并选择3行ORDER BY RAND()LIMIT 3

有关INSERT ... SELECT语句 - see

的更多信息

使用MySQL Events(从5.1.6开始提供)也可以自动完成日常工作