原则-按ID对表中的用户进行计数

我在数据库中有6条记录。 3来自用户1,2来自用户2,1来自用户3。

我想通过user_id对它们进行计数,因此最终结果将为3。它总是返回表中所有记录的计数。返回6。

我的功能:

return $this->getDeviceRepository()
        ->createQueryBuilder('tlu')
        ->select('COUNT(tlu.user_id)')
        ->getQuery()
        ->getResult();
xk312339548 回答:原则-按ID对表中的用户进行计数

您有2个解决方案(使用groupBy或countDistinct)

return $this->getDeviceRepository()
        ->createQueryBuilder('tlu')
        ->select('COUNT(tlu.user_id)')
        ->groupBy('tlu.user_id')
        ->getQuery()
        ->getResult();

return $this->getDeviceRepository()
        ->createQueryBuilder('tlu')
        ->select('COUNT(tlu.user_id)')
        ->countDistinct('tlu.user_id')
        ->getQuery()
        ->getResult();
,

是的,我们可以按照以下步骤进行

getResult()->count();

return $this->getDeviceRepository()
        ->createQueryBuilder('tlu')
        ->select('COUNT(tlu.user_id)')
        ->countDistinct('tlu.user_id')
        ->getQuery()
        ->getSingleScalarResult();
本文链接:https://www.f2er.com/3066002.html

大家都在问