I have solved this issue with a dql query, returning exactly what I am looking for:
public function getStatsByDQL(User $user, String $col)
{
$midNight = date_create('00:00:00')->format('Y-m-d H:i:s');
$parameters = (array('user' => $user, 'date' => $midNight,
));
$em2 = $this->getDoctrine()->getManager()
->getRepository('AppBundle:ExerciseStats')
->createQueryBuilder('g')
->setParameters($parameters)
->where('g.user = :user', 'g.timestamp < :date')
->select('g.'. $col)
->setMaxResults(1)
->join('g.user', 'user')
->orderBy( 'g.'. $col,'DESC')
->getQuery()->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);
return $em2;
}