我有一个查询在输入日期时间之前选择 5 行。
当输入日期时间接近表中最早的日期时,我没有得到 5 个结果,有时我得到 4、3、2、1 或没有。
有没有办法告诉它从表中的随机位置选择剩余的缺失结果(比如第一个查询有 3 个结果,所以我需要另外 2 个)?
我有一个查询在输入日期时间之前选择 5 行。
当输入日期时间接近表中最早的日期时,我没有得到 5 个结果,有时我得到 4、3、2、1 或没有。
有没有办法告诉它从表中的随机位置选择剩余的缺失结果(比如第一个查询有 3 个结果,所以我需要另外 2 个)?
类似于:
select * from
(select 1 as resultOrder, *
from actualResults
order by date desc
limit 5
union
select 2 as resultOrder, *
from randomResults
limit 5)
order by resultOrder
limit 5
假设您想要的结果早于 $date_selected,最新的优先,
...
ORDER BY
date_add<$date_selected, date_add, 0) DESC,
RANDOM()
LIMIT 5
读作:按日期选择所选日期之前的那些,然后选择所选日期之后的那些。