反加权随机选择

时间:2016-04-08 17:45:06

标签: php mysql random

我有一个包含~10000首歌曲的Mysql数据库表。一列是他们最后一次播放。我想随机选择一首歌,给予播放次数最少的歌曲更多的权重。这应该是一个快速的查询,所以也许我们不需要计算一首歌的播放次数,只需使用' last_play'用于计算重量的列。

我使用PHP和Mysql,我不确定我是否可以只用SQL进行查询,或者我是否需要获取所有10.000结果,然后使用PHP进行计算。

你可以帮我查询一下吗?也许有更好的方法来解决这个问题?

表格:

CREATE TABLE `songs` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(50) NULL DEFAULT '0',
    `filename` VARCHAR(150) NULL DEFAULT '0',
    `last_play` TIMESTAMP NULL DEFAULT NULL,
    PRIMARY KEY (`id`)
)
ENGINE=InnoDB
;

0 个答案:

没有答案