2014-05-04 43 views
0
id reference_id 
1 3    

2 9    

3 6  

4 2 

4 1 

我想根據遞減的列「ID」 查詢以上,並獲得列表,然後我婉組的結果通過參考ID和限值兩個答案如何在db_select的查詢中查詢?

所以輸出會是

4 1 

4 2 

下面是我的代碼,但我沒有得到

$account = user_load($uid); // had to load the user to get the username for the below query 
    $query1 = db_select('eck_eventlog', 'e'); 
    $query1->condition('e.type', 'eventlog'); 
    $query1->condition('e.reference_id', $flagged_nodes, 'IN'); 
    $query1->condition('e.username', $account->name); // added this as for user type was getting the wrong result 
    $query1->fields('e') 
     ->orderBy('id', 'DESC'); 

    $query = db_select($query1,'t'); 
    $query->groupBy('t.reference_id'); 
    if ($limit != '') { 
     $query->range(0, $limit); 
    } 
    $result = $query->execute(); 
    return $result; 
+0

我不遵循從第一個輸出到第二個輸出的方式 - 你沒有按任何分組,你只是扔掉了6個結果中的4個。 – IMSoP

+0

我已經更新了 –

+0

所以,你只是想通過reference_id來排序* SQL中的「分組依據」意思是「爲每個不同的值生成一行」,但在您的示例中,reference_id的所有值都是不同的。 – IMSoP

回答