0
我的表看起來像這樣選擇最後一個值學說查詢
id | name | revision_number | form_key | locked
---------------------------------------------------
1 | Name1 | 1 | abcd | true
2 | Name2 | 1 | efgh | false
3 | Name1 | 2 | abcd | true
4 | Name2 | 2 | efgh | true
5 | Name2 | 3 | efgh | true
現在,我想這是最後鎖定形式,對form_key基地,所以在這種情況下,一個id爲3名=名1和一個id爲5和名稱=名稱2
這是查詢我目前有
$revisionQuery =$em->getRepository('AppBundle:Form')->createQueryBuilder('f')
->select('f')
->where('f.lockBit = :locked')
->andWhere('f.revisionNumber = (SELECT MAX(f2.revisionNumber) FROM AppBundle:Form f2 WHERE f.formKey = f2.formKey GROUP BY f2.formKey)')
->setParameters(['locked' => true]);
但是,這不給我我想要的結果。
你想要什麼結果,你現在得到了什麼結果? –
@eggyal auto_increment列也可以用來確定順序,這在OP – Shadow
中描述在這裏看看:http://stackoverflow.com/questions/6637506/doing-a-where-in-subquery-in-doctrine -2,你的解決方案如何在主體中的clausule中進行子選擇。當然,你需要根據你的情況調整解決方案。 – Miro