Drupal 7 如何在db_select中的查询中进行查询?

Drupal 7 如何在db_select中的查询中进行查询?,drupal-7,Drupal 7,我想查询上述内容,并根据“id”列的desc获取列表 然后我想根据参考id中的值对结果进行分组,并限制为两个答案 因此,输出将是 id reference_id 1 3 2 9 3 6 4 2 4 1 下面是我的代码,但我没有任何进展 4 1 4 2 您可以在本页查看示例: 基本上,一个选择的输出可以进入另一个选择 如果您使用“AS”进行正确命名,这会很有帮助。我不知道您

我想查询上述内容,并根据“id”列的desc获取列表 然后我想根据参考id中的值对结果进行分组,并限制为两个答案

因此,输出将是

id  reference_id   
1    3             

2    9             

3    6       

4    2

4    1
下面是我的代码,但我没有任何进展

4   1

4   2

您可以在本页查看示例:

基本上,一个选择的输出可以进入另一个选择


如果您使用“AS”进行正确命名,这会很有帮助。

我不知道您是如何从第一个输出到第二个输出的-您没有按任何内容进行分组,只是丢弃了6个结果中的4个。因此,您只想按引用id排序?SQL中的“GROUPBY”表示“为的每个不同值生成一行”,但示例中的reference_id的所有值都是不同的。
 $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;