简体   繁体   English

将SQL查询转换为Doctrine / dql

[英]Translating sql query into Doctrine/dql

This is the query I want: 这是我想要的查询:

SELECT * FROM (SELECT * FROM counter ORDER BY id DESC) AS x GROUP BY campaign_id

but I can´t find a way to express this in my Symfony application. 但是我找不到在我的Symfony应用程序中表达这一点的方法。 What is the correct way to use subqueries like this one in Doctrine? 在Doctrine中使用这种子查询的正确方法是什么?

This one: 这个:

$query = $em->createQuery('SELECT c
        FROM InstacountInstacountBundle:Counter c
        GROUP BY c.campaign');  
    $counts = $query->getResult();

is working fine, but I want only the latest records in my group. 工作正常,但我只需要小组中的最新记录。 Thanks for any help! 谢谢你的帮助!

SELECT x.* 
  FROM counter x
  JOIN 
     ( SELECT campaign_id, MAX(id) max_id FROM counter GROUP BY campaign_id ) y
    ON y.campaign_id = x.campaign_id
   AND y.max_id = x.id;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM