有一个很难制定出一个合适的DQL产生累积和即时通讯。 我能做到这一点在普通的SQL,但是当涉及到DQL我不能弄个。
下面是它的外观在SQL:
SELECT s.name, p.date_short, p.nettobuy, (select sum(pp.nettobuy) as sum from price pp where pp.stock_id = p.stock_id and p.broker_id = pp.broker_id and pp.date_short <= p.date_short) as cumulative_sum FROM price p left join stock s on p.stock_id = s.id group by p.stock_id, p.date_short order by p.stock_id, p.date_short
谢谢
嘿,我有检查学说1.2的文档,并创建查询的方式是(把注意力放在别名):
$query = Doctrine_Query::create();
$query->addSelect('AVG(price) as price');
$query->addSelect('AVG(cost) as cost');
// as many addSelect() as you need
$query->from('my_table');
要输出的SQL查询创建:
echo $query->getSqlQuery();
执行语句:
$product = $query->fetchOne();
并访问检索到的数据是:
echo $product->getPrice();
echo $product->getCost();
阅读文档的其余GROUP BY子句 。
你只需指定在DQL您选择部分的总和:
$query = Doctrine_Query::create()
->select('sum(amount)')
->from('some_table');
看看这个页面学说文档中获取更多信息。