我正在开发自动出价系统,有一个棘手的场景。也就是说,我想在每次执行代码时选择下一台机器从“table_machine”开始出价。 这意味着,我正在从有效(状态= 1)机器中选择出价以进行出价。
execution 1 bidz from mid 1
execution 2 bidz from mid 2
.......
execution 4 bidz from mid 4
execution 5 bidz from mid 1
执行后1如果用户2 bidz on live,那么机器出价应该在中间2时出现,并且应该在中期3出价
我有两张桌子
table_bid_history
history_id user_id product_id price type
1 1 1 10 live
2 2 1 10.5 live
3 1 1 11 machine
4 2 1 11.5 machine
5 3 1 12 machine
6 4 1 12.5 machine
7 1 1 13 machine
table_machine
mid user_id product_id start end num_bidz status
1 1 1 8 12 5 1
2 2 1 10 15 15 1
3 3 1 11 16 10 1
4 4 1 11 16 10 1
我怎么能这样做,我觉得这很棘手但是必须有办法做到这一点。请给我一个想法。 请建议我 !谢谢
答案 0 :(得分:0)
如果我理解正确你可以这样做:
在machine_table上创建一个新的假字段,并将其命名为lastSelect
,并在Where子句中使用以下内容:
SELECT FROM .............
LEFT JOIN table_machine tm ON tm.lastSelect=1
WHERE id = IF(tm.id=MAX(tm.id),1,tm.id)
然后将table_machine上的当前lastSelect更新为1