Нахождение максимума Groupwise в доктрине

Как Вы находите groupwise максимум или строку, содержащую максимальное значение, в Доктрине? В SQL я обычно делал бы это использование сам соединение, как описано здесь.

В то время как возможно настроить сам отношение в Доктрине, есть ли какие-либо лучшие способы сделать это?

5
задан Jeremy Kauffman 23 June 2010 в 23:31
поделиться

1 ответ

Пример группового максимума:

$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)");

Пример строки, содержащей максимум:

$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))");

Возможно, это не единственные способы (или наиболее чистые), но я только что протестировал оба, и они работают.

5
ответ дан 14 December 2019 в 13:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: