计算数据库中有多少个值相同,如果达到数量则增加

时间:2017-05-31 13:41:06

标签: php mysql pdo

我有一个带有poule ID的数据库用于锦标赛。现在我希望在1 poule(id)中不超过4支球队。因此,如果4个团队在poule_id 1中,则需要将它们放入poule_id 2中,如果poule_id 2中有4个,则需要转到poule_id 3等。

poule table

到目前为止,我只选择了poule_id。

   $sql = "SELECT poule_id FROM `tbl_teams` WHERE poule_id IS NOT NULL";
    $stmt = $this->db->prepare($sql);
    $stmt->execute();
    $teams = $stmt->fetchAll(PDO::FETCH_ASSOC);

    echo "<pre>";
    var_dump($teams);

哪个让我:

array(9) {
  [0]=>
  array(1) {
    ["poule_id"]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    ["poule_id"]=>
    string(1) "1"
  }
  [2]=>
  array(1) {
    ["poule_id"]=>
    string(1) "0"
  }
  [3]=>
  array(1) {
    ["poule_id"]=>
    string(1) "0"
  }
  [4]=>
  array(1) {
    ["poule_id"]=>
    string(1) "0"
  }
  [5]=>
  array(1) {
    ["poule_id"]=>
    string(1) "0"
  }
  [6]=>
  array(1) {
    ["poule_id"]=>
    string(1) "0"
  }
  [7]=>
  array(1) {
    ["poule_id"]=>
    string(1) "0"
  }
  [8]=>
  array(1) {
    ["poule_id"]=>
    string(1) "0"
  }
}

现在我陷入困境,因为我找不到如何计算poule_id 1中有多少支队伍。

抱歉要擦洗。 提前致谢

1 个答案:

答案 0 :(得分:0)

只要您的插入逻辑保持不变,您就可以使用以下内容:

data.table:::is.sorted(DT,by)

获取poule_id,你应该使用(作为别名use_id)进行下一次插入。只要您只使用此代码获取下一个ID,您就可以了。当然,在您的特定用例中进行测试,以确保它按预期进行。