我正在尝试创建队列表

id | queue_id | user_id | is_active_to_vote
1  | 14       | 1       | 1
2  | 14       | 2       | 0
3  | 14       | 3       | 0
4  | 15       | 1       | 1
5  | 15       | 2       | 0
6  | 15       | 3       | 0


结果中的用户列表如下所示(对于queue_id = 14)

Sam (user_id=1 votes now)
John (user_id=2)
Bill (user_id=3)


但是,如果用户没有及时投票,我需要像这样重新排队

John (user_id=2 votes now)
Bill (user_id=3)
...
Sam (user_id=1 last user in queue)


这样做的好方法是什么?

最佳答案

由于您使用“不及时投票”信息来对队列进行排序,因此您需要在某处(在当前表的新字段中或在单独的表中)有关投票时间的信息。

一旦有了,就可以根据想要的条件对队列进行排序(目前我还不清楚,默认情况下user_id是吗?)。

请注意,通常我建议您在应用程序控制器中执行队列管理,而不是直接在MySQL中执行。

关于mysql - 用户在mysql中排队,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54645867/

10-11 22:27
查看更多