在zend中选择left

时间:2012-11-14 23:02:38

标签: sql zend-framework zend-db

如何在zend中执行此类操作:

SELECT LEFT(log_browser, LOCATE(' ', log_browser)) AS browser, COUNT(*) AS amount
FROM logs
GROUP BY LEFT(log_browser, LOCATE(' ', log_browser))

2 个答案:

答案 0 :(得分:0)

尝试:     $ select-> from($ name,$ column) - > group()

$select->from("logs", array("LEFT(log_browser, LOCATE(' ', log_browser))" => "browser" ,"count(*)" => "amount"))
       ->group(array("LEFT(log_browser, LOCATE(' ', log_browser)");

更多信息如何运作 http://framework.zend.com/manual/1.12/en/zend.db.select.html#zend.db.select.building.group

DINS

答案 1 :(得分:0)

对表达式语句使用Zend_Db_Expr类:

$browserExpr = new Zend_Db_Expr('LEFT(log_browser, LOCATE(" ", log_browser))');
$select->from("logs", array('browser' => $browserExpr))->group($browserExpr);