【问题标题】:Doctrine Query count() and groupBy() dateDoctrine 查询 count() 和 groupBy() 日期
【发布时间】:2013-02-09 21:24:58
【问题描述】:

我需要查找每天的登录总数,但是如何在 DQL 中选择 count() 和按天分组?我正在使用 Doctrine 2.3。

public function getLoginCount()
{
    return $this->createQueryBuilder('i')
            ->select('i') // and count(*)
            ->groupBy('i.timestamp') // group by day
            ->getQuery()
            ->execute()
        ;
}

我需要这样的东西:

Date | count
2013-01-01 | 6
2013-01-02 | 7
2013-01-03 | 3

【问题讨论】:

    标签: doctrine doctrine-orm dql


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      OP 有点晚了,但也许有人会觉得它很方便。我能够通过下面的 DQL 查询来实现这一点:

          $dql = '
              SELECT
                  SUBSTRING(i.timestamp, 1, 10) as date,
                  COUNT(i) as count
              FROM Entity i
              GROUP BY date
          ';
          $query = $entityManager->createQuery($dql);
          return $query->getResult();
      

      我认为类似的应该可以使用 Doctrine 查询生成器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多