我有一张table:logCall
id name out_number in_number duration
1 nameTest1 302 400 60
2 nameTest2 3232211 400 12
3 nameTest3 303 401 20
3 nameTest3 302 32323 10
4 nameTest4 111 302 10
这是我处理的代码的一部分:
$q = $this->_em->getConnection()->createQueryBuilder();
$q->select("name, out_number in_number, duration")
->from(MAUTIC_TABLE_PREFIX . 'logCall')
->where("LENGTH(in_number) = 3")
->andWhere("LENGTH(out_number) = 3")
->orderBy('id', 'DESC');
$result = $q->execute()->fetchAll();
return $result;
现在我想要:
1.获取值out_number
和值length == 3
的in_number
(我上面处理的代码在where("LENGTH(in_number) = 3")
中有一个错误),所以它不能被检索。
1.如果我想通过out_number
和in_number
进行groupBy,是否可以使用相同的查询,或者我必须单独使用另一个查询。例如,我想使用代码302
的groupBy out_number
。它计算的total duration
等于70
。类似地,in_number = 302
具有total duration = 10
。
请给我给予反馈,这样我就可以解决这个问题。
我上面的代码是不完整的,可能不是语法正确的。请帮助我。我是新的PHP。我从JS切换。谢谢大家。
1条答案
按热度按时间t1qtbnec1#
你必须使用querybuilder中的
expr
。我还没在真实的环境中测试过,但应该可以.
更多信息here