ZendFramework 最近 24 小时内的平均通话时长
average call duration in last 24 hours ZendFramework
我在使用 ZendFramework 中的 MYSQL 查询时遇到了一些问题,我想获得过去 24 小时内的平均通话时长并像这样查询:
SELECT AVG(duration) FROM table1 where calldate > DATE_SUB(CURDATE(), INTERVAL 24 HOUR;
这里是我的 ZendFramework 中的代码:
型号:
<?php
class Model_Cdr extends Zend_Db_Table_Abstract
{
protected $_name = 'table1';
protected $_schema = 'db1';
}
控制器:
$callModel= new Model_Cdr();
$select_tot_24 = $callModel->fetchAll($callModel->select()->where("calldate > DATE_SUB(CURDATE(), INTERVAL 24 HOUR)" ));
echo $avg_24 = AVG($select_tot_24);
我也试过这个:
$callModel= new Model_Cdr();
$avg_24_1 = $callModel->fetchAll("SELECT AVG(duration WHERE calldate > DATE_SUB(CURDATE(), INTERVAL 1 HOUR))");
使用Zend_Db_Table_Select:
$callModel = new Model_Cdr();
$select = $callModel->select()
->from('table1', array('average' => 'AVG(duration)'))
->where('calldate > DATE_SUB(CURDATE(), INTERVAL 24 HOUR)');
$row = $callModel->fetchRow($select);
echo 'Average time: ' . $row->average;
使用它:
$callModel = new Model_Cdr();
$select = $callModel->select()
->from($callModel, array('average' => 'AVG(duration)'))
->where('calldate > DATE_SUB(CURDATE(), INTERVAL 24 HOUR)');
$row = $callModel->fetchRow($select);
echo 'Average time: ' . $row->average;
我在使用 ZendFramework 中的 MYSQL 查询时遇到了一些问题,我想获得过去 24 小时内的平均通话时长并像这样查询:
SELECT AVG(duration) FROM table1 where calldate > DATE_SUB(CURDATE(), INTERVAL 24 HOUR;
这里是我的 ZendFramework 中的代码:
型号:
<?php
class Model_Cdr extends Zend_Db_Table_Abstract
{
protected $_name = 'table1';
protected $_schema = 'db1';
}
控制器:
$callModel= new Model_Cdr();
$select_tot_24 = $callModel->fetchAll($callModel->select()->where("calldate > DATE_SUB(CURDATE(), INTERVAL 24 HOUR)" ));
echo $avg_24 = AVG($select_tot_24);
我也试过这个:
$callModel= new Model_Cdr();
$avg_24_1 = $callModel->fetchAll("SELECT AVG(duration WHERE calldate > DATE_SUB(CURDATE(), INTERVAL 1 HOUR))");
使用Zend_Db_Table_Select:
$callModel = new Model_Cdr();
$select = $callModel->select()
->from('table1', array('average' => 'AVG(duration)'))
->where('calldate > DATE_SUB(CURDATE(), INTERVAL 24 HOUR)');
$row = $callModel->fetchRow($select);
echo 'Average time: ' . $row->average;
使用它:
$callModel = new Model_Cdr();
$select = $callModel->select()
->from($callModel, array('average' => 'AVG(duration)'))
->where('calldate > DATE_SUB(CURDATE(), INTERVAL 24 HOUR)');
$row = $callModel->fetchRow($select);
echo 'Average time: ' . $row->average;