[英]Sorting and selecting from sql table by time zone
我有一个让我感到困惑的问题,但对某些人来说可能很容易。 它在这里:我有一个像这样的MySQL表
id | username | time_zone | selected
1 XXX +4 1
2 XXX -6 0
3 XXX NULL 1
等等。 行数可以超过一百万。 (请注意,可能会有未定义时区的用户。)有一个PHP脚本,它每小时通过cron作业运行,并从表中选择一定数量的行。 现在是困难的部分。
amount selected = COUNT()/24
) COUNT()/24
,则可以用未定义的用户或邻居时区的用户补偿相等性。 我不需要代码,但需要逻辑。 如果有人可以帮助我,我会非常高兴。 如有任何疑问,我可以详细介绍。
您有垃圾箱包装问题。 “从相邻时区借用”使情况变得更加复杂。 以下是有关如何解决问题的一些想法。
这是考虑解决方案的一种方法:
selected
) 哦,这似乎很复杂。 似乎还需要一堆游标才能解决该问题。
相反,让我们按时区而不是用户进行填充。
这越来越近了。 您可以通过一次将用户分配到所有时区来进一步优化它。 然后,对于未满的时区,请从其他时区接走多余的用户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.