$user_ids=$this->connection->executeQuery('SELECT id FROM users')->fetchAll(\PDO::FETCH_COLUMN);
foreach($user_idsas$user_id){
$user_id=(int)$user_id;
// Those are the parents ID, grouped by day.
$parents=$this->connection->executeQuery(
"SELECT id FROM contreparties c JOIN (SELECT MAX(FIELD(quoi, 'piplome', 'pibag', 'pishirt', 'hoodie')) m FROM contreparties GROUP BY user_id, dayofyear(datec)) AS m WHERE FIELD(c.quoi, 'piplome', 'pibag', 'pishirt', 'hoodie') = m.m AND user_id = :user_id",
['user_id'=>$user_id]
)->fetchAll(\PDO::FETCH_COLUMN);
foreach($parentsas$parent){
$parent=(int)$parent;
// Let's get the date of this one
$day=$this->connection->executeQuery(
'SELECT DAYOFYEAR(datec) FROM contreparties WHERE id = :parent',
['parent'=>$parent]
)->fetchAll(\PDO::FETCH_COLUMN)[0];
// Let's update the parent
$this->connection->executeUpdate(
'UPDATE contreparties SET parent = :parent WHERE DAYOFYEAR(datec) = :day AND user_id = :user_id',