【问题标题】:Select left in zend在zend中选择左侧
【发布时间】:2012-11-14 23:02:37
【问题描述】:

如何在zend中做这样的事情:

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

【问题讨论】:

    标签: sql zend-framework zend-db


    【解决方案1】:

    尝试: $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

    丁丁

    【讨论】:

      【解决方案2】:

      对表达式语句使用 Zend_Db_Expr 类:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-12
        相关资源
        最近更新 更多