我有一个事件数据库。每个事件都有一个附加等级(1-5)。我想按日期范围查询数据库中的事件,我想选择一组随机的排名为 1 的事件,然后选择一组随机的排名为 2 的事件等。
此查询为我提供了 1 级事件的随机选择:
SELECT * FROM
(
SELECT * FROM `events`
WHERE `date` >1326578956
AND `date`<1326870399
AND `rank`=1
ORDER BY RAND()
)
e LIMIT 0,10
但是可能存在没有排名 1 或排名 2 等的事件的情况。
这是否可能仅使用 MYSQL 查询。我可以使用 PHP 迭代查询,用结果填充一个数组,但我认为如果可能的话,用 MYSQL 完成这一切会更加优雅。
谢谢,
艾伦。