2011-02-18 1 views
2

나는이 쿼리를 실행할 수 있습니다codeigniter sql 쿼리에 TIMESTAMPDIFF를 쓰는 방법은 무엇입니까? phpMyAdmin을에서

SELECT TIMESTAMPDIFF(SECOND,first_load,last_load) AS uptime FROM table 

을하지만, 내가 어떻게 codeignitor의 방법으로 해당 쿼리를 작성하려면 어떻게해야합니까? 작동하지 않습니다.

$this->db->select('TIMESTAMPDIFF(SECOND,first_load,last_load) AS uptime') 

실제 쿼리는 좀 더 복잡하므로 한 부분 만 표시했습니다.

$this->db 
->select('n.unique_id, n.name, b.impressions, b.clicks, TIMESTAMPDIFF(SECOND,first_load,last_load) AS uptime') 
->from(self::$_table . ' AS b') 
->join('sm_names AS n', 'n.id = b.name_id AND n.blocked = \'0\' AND n.unique_id != 11111111') 
->where('b.last_load >', date('Y-m-d H:i:s', time() - (86400 * 2))) 
->order_by($order, 'desc') 
->limit($limit); 

그것은이 오류 메시지를 생성합니다 : http://screencast.com/t/ZUYq58Rc6uA

덕분에이 (작동하지 않는) 전체 쿼리 될 것이다.

+0

활성 레코드 패턴을 사용할 수 없다는 것이 판명되었으므로 순수한 SQL 커맨트에 입력해야합니다. – Tnobs

답변

2

브래킷이 닫히기 전에 TIMESTAMPDIFF(SECOND,first_load,last_load)에 last_load 이후에 공백을 넣으십시오.

관련 문제