如何在Doctrine中找到分组最大值或包含最大值的行?在SQL中,我通常会使用此处所述的自联接来执行此操作.
虽然可以在Doctrine中建立自我关系,但还有更好的方法吗?
分组最大值的示例:
$query = Doctrine_Query::create()
->select("txs.id, txs.amount, txs.valid_from")
->from("Tx txs")
->where("txs.amount = (SELECT MAX(transact.amount) FROM tx transact WHERE txs.id = transact.id)");
Run Code Online (Sandbox Code Playgroud)
包含最大值的行示例:
$query = Doctrine_Query::create()
->select("txs.id, txs.amount, txs.valid_from")
->from("Tx txs")
->where("txs.id = (SELECT transact.id FROM tx transact WHERE transact.amount = (SELECT MAX(transactx.amount) FROM tx transactx))");
Run Code Online (Sandbox Code Playgroud)
这些可能不是唯一的方式(或最干净),但我只测试了它们并且它们起作用.
| 归档时间: |
|
| 查看次数: |
1680 次 |
| 最近记录: |