2013-08-30 36 views
0

我對這種編碼語法風格並不熟悉,但我想將其用於我的項目。 我對如何此查詢集成了一個問題:如何在PHP上使用'MAX'獲得最大值mysql

SELECT MAX(ID)FROM assignment_billing WHERE assignment_id = 37

這個語法。

public function fetchBillingByParentId($db,$id) { 
    $select = $db->select()->from('assignment_billing')->where('assignment_id = '.$id); 
    $stmt = $select->query(); 
    $result = $stmt->fetchAll(); 
    return $result; 
} 

我想用最多獲得該表最高的ID,但我的句法不起作用。

public function fetchBillingByParentId($db,$id) { 
    $select = $db->select('max(id)')->from('assignment_billing')->where('assignment_id = '.$id); 
    $stmt = $select->query(); 
    $result = $stmt->fetchAll(); 
    return $result; 
} 

我忘了什麼嗎?第一種語法正在工作。但在第二種語法中,它不返回任何值?我認爲我在'select('max(id)') - >'行中有錯誤。在這種語法中可能有什麼合適的安排?

+2

你使用那個數據庫API的框架是什麼?嘗試閱讀它的文檔,看看你是如何做到的。 – Barmar

+0

它只是PHP的mysql – Jarich

回答

1

無論何時您使用聚合,您都必須別名該列。

$select = $db->select('max(id) AS balloon')->from('assignment_billing')->where('assignment_id = '.$id); 

然後,您將參考balloon作爲列。