0

私は1000アカウントを持っています。各アカウントには、account_name、account_id、time_zone_id があります

すべてのアカウントのアクティビティを 3 人のユーザーに生成したいと考えています。

そのため、使用済み #10 には 333 アクティビティ、ユーザー #11 には 333、ユーザー #12 には 334 のアクティビティを生成する必要があります。ただし、タイムゾーンが均等に分散されていることを確認する必要があります。したがって、タイム ゾーン 18 に 200 のアカウント、タイム ゾーン 10 に 400 のアカウント、タイム ゾーン 7 に 200、タイム ゾーン 39 に 200 のアカウントがある場合、これらの新しいアクティビティをユーザーに均等に配布するようにします。

カウントを取得して正しい方向に進んでいるかどうかを確認するための選択として、このようなことを試しました

SELECT count(ac.account_id) AS total, ac.time_zone_id,
(SELECT user_id FROM users where team_id = 4 ORDER BY RAND() LIMIT 1 ) AS user_id
FROM accounts AS ac
GROUP BY ac.time_zone_id

これにより活動が作成されましたが、均等に分配されていません。

4

1 に答える 1