私は2つのテーブルを持っています。table_1
私には、毎日更新されるさまざまなタスクがあります。そして、table_2
私は労働者のリストを持っています。すべてのワーカーがほぼ同じ量のタスクを持つように、1 つのワーカー (table_2) を 1 つのタスク (table_1) に自動的かつランダムに割り当てる必要があります。
メソッドを使用しようとしましたrand()
が、ランダムに割り当てられますが、均等ではありません。つまり、あるワーカーが別のワーカーよりも多くのタスクを実行できるということです。次に、count()
メソッドを使用しようとしましたが、それらを接続できませんでした...私はphpとmysqlが初めてです:(
私はこのようなものを作成しましたが、mysql でのみですが、関数 (ではない) のために一度しか機能しません。
insert into table_1(worker)
select col_1 from table_2
where col_1 not in (select worker from table_1)
order by col_1 rand()
limit 0,1;
助けてくれてありがとう:)