想法很丰满,显示很骨感。
其实算法问题好解决,但是首要问题是你的数据是否能保证均匀分布。例如,我把一周的时间分为12等分,你能保证每个等分里面必然都有数据吗? 如果某个等分里面没有数据,你如何凑够12条呢?
关于等分很简单,将时间转换为时间戳就行,举例来说
开始时间 15300,结束时间 18900,取10条,sql伪码为
where getTimestamp(time) >= 15300 and getTimestamp(time) <= 18900 group by parseToInt((getTimestamp(time) - 15300) / 10)
以上语句中的函数都是不存在的,mysql手册中正确的函数名字。
那你在这个时间段内随机取12条好了, order by rand() limit 12
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。