Okay maybe I missed the obvious and if I missed it then maybe I can document it more clearly for others like myself.

I could not get the view to group, distinct or aggregate the data. I got tons of repeats. Which then I figured I would just write a hook_views_query_alter and add the groupby there. Which add_groupby did seem to work. Well I mean it showed up in the output of $query via dsm.

But the view still had many repeats of this one node.

So I would like to follow up with any documentation to help others not spend so much time on this.

The view by the way is below and basically it was finding duplicate "Resources" IF that Resource had more the one "Related Object Node"

But if someone points me in the right direction I will do what I can to document.

Thanks


$view = new view;
$view->name = 'resources';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'Resources';
$view->core = 7;
$view->api_version = '3.0-alpha1';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Resources';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['distinct'] = TRUE;
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'none';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'fields';
/* Header: Global: Text area */
$handler->display->display_options['header']['area']['id'] = 'area';
$handler->display->display_options['header']['area']['table'] = 'views';
$handler->display->display_options['header']['area']['field'] = 'area';
$handler->display->display_options['header']['area']['label'] = 'Resources Header';
$handler->display->display_options['header']['area']['empty'] = FALSE;
$handler->display->display_options['header']['area']['content'] = '<div class="resources-list">Resources List</div>
Sed laoreet pretium molestie. In sollicitudin justo sit amet purus dictum porta.ultrices ipsum nec ante tempus molestie. Nulla at nisl ut felis pharetra tristique. Phasellus ultrices sodales risus, non pharetra nisi aliquet ac. Morbi sagittis, sem ac venenatis condimentum, purus magna faucibus augue, at hendrerit sem turpis sit amet tortor. Suspendisse potenti. Phasellus lobortis sollicitudin nulla, et eleifend orci consectetur quis. Aliquam erat volutpat. Duis ante ante, pharetra vitae rhoncus sit amet, condimentum quis libero. Ut rhoncus commodo malesuada. 
<div id="theme-select-wrapper">
<div id="theme-select-header">
</div>
<div id="theme-select">
<div class="inner">
   <div class="theme-select-item"><a href="/resources?theme=1">Mythology & Storytelling <i>in the</i> Warbeke Gallery</a></div>
   <div class="theme-select-item"><a href="/resources?theme=2">Representations of Ancient Women <i>in the</i> Evans Gallery</a></div>
   <div class="theme-select-item"><a href="/resources?theme=3">Theatricality & the Ancient Interior <i>in the</i> Gump Family Gallery</a></div>
   <div class="theme-select-item"><a href="/resources">Show All</a></div>
</div>
</div>
</div>';
$handler->display->display_options['header']['area']['format'] = 'full_html';
$handler->display->display_options['header']['area']['tokenize'] = 0;
/* Relationship: Content: Related objects (field_related_objects) */
$handler->display->display_options['relationships']['field_related_objects_nid']['id'] = 'field_related_objects_nid';
$handler->display->display_options['relationships']['field_related_objects_nid']['table'] = 'field_data_field_related_objects';
$handler->display->display_options['relationships']['field_related_objects_nid']['field'] = 'field_related_objects_nid';
$handler->display->display_options['relationships']['field_related_objects_nid']['required'] = 0;
$handler->display->display_options['relationships']['field_related_objects_nid']['delta'] = '-1';
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 0;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 0;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Field: Content: Thumbnail image */
$handler->display->display_options['fields']['field_resource_thumb']['id'] = 'field_resource_thumb';
$handler->display->display_options['fields']['field_resource_thumb']['table'] = 'field_data_field_resource_thumb';
$handler->display->display_options['fields']['field_resource_thumb']['field'] = 'field_resource_thumb';
$handler->display->display_options['fields']['field_resource_thumb']['label'] = '';
$handler->display->display_options['fields']['field_resource_thumb']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_resource_thumb']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_resource_thumb']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_resource_thumb']['click_sort_column'] = 'fid';
$handler->display->display_options['fields']['field_resource_thumb']['settings'] = array(
  'image_style' => '',
  'image_link' => 'content',
);
$handler->display->display_options['fields']['field_resource_thumb']['field_api_classes'] = 0;
/* Field: Content: Author */
$handler->display->display_options['fields']['field_resource_author']['id'] = 'field_resource_author';
$handler->display->display_options['fields']['field_resource_author']['table'] = 'field_data_field_resource_author';
$handler->display->display_options['fields']['field_resource_author']['field'] = 'field_resource_author';
$handler->display->display_options['fields']['field_resource_author']['label'] = '';
$handler->display->display_options['fields']['field_resource_author']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_resource_author']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_resource_author']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_resource_author']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_resource_author']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_resource_author']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_resource_author']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_resource_author']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_resource_author']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_resource_author']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_resource_author']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_resource_author']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_resource_author']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_resource_author']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_resource_author']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_resource_author']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_resource_author']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_resource_author']['field_api_classes'] = 0;
/* Field: Content: Short description */
$handler->display->display_options['fields']['field_short_description']['id'] = 'field_short_description';
$handler->display->display_options['fields']['field_short_description']['table'] = 'field_data_field_short_description';
$handler->display->display_options['fields']['field_short_description']['field'] = 'field_short_description';
$handler->display->display_options['fields']['field_short_description']['label'] = '';
$handler->display->display_options['fields']['field_short_description']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_short_description']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_short_description']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_short_description']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_short_description']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_short_description']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_short_description']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_short_description']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_short_description']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_short_description']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_short_description']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_short_description']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_short_description']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_short_description']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_short_description']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_short_description']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_short_description']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_short_description']['field_api_classes'] = 0;
/* Field: Content: Link */
$handler->display->display_options['fields']['view_node']['id'] = 'view_node';
$handler->display->display_options['fields']['view_node']['table'] = 'node';
$handler->display->display_options['fields']['view_node']['field'] = 'view_node';
$handler->display->display_options['fields']['view_node']['label'] = '';
$handler->display->display_options['fields']['view_node']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['external'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['view_node']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['view_node']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['trim'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['html'] = 0;
$handler->display->display_options['fields']['view_node']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['view_node']['element_default_classes'] = 1;
$handler->display->display_options['fields']['view_node']['hide_empty'] = 0;
$handler->display->display_options['fields']['view_node']['empty_zero'] = 0;
$handler->display->display_options['fields']['view_node']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['view_node']['text'] = 'Read resource';
/* Field: Content: Related objects */
$handler->display->display_options['fields']['field_related_objects']['id'] = 'field_related_objects';
$handler->display->display_options['fields']['field_related_objects']['table'] = 'field_data_field_related_objects';
$handler->display->display_options['fields']['field_related_objects']['field'] = 'field_related_objects';
$handler->display->display_options['fields']['field_related_objects']['relationship'] = 'field_related_objects_nid';
$handler->display->display_options['fields']['field_related_objects']['label'] = '';
$handler->display->display_options['fields']['field_related_objects']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_related_objects']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_related_objects']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_related_objects']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_related_objects']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_related_objects']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_related_objects']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_related_objects']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_related_objects']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_related_objects']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_related_objects']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_related_objects']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_related_objects']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_related_objects']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_related_objects']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_related_objects']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_related_objects']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_related_objects']['type'] = 'node_reference_node';
$handler->display->display_options['fields']['field_related_objects']['settings'] = array(
  'node_reference_view_mode' => 'full',
);
$handler->display->display_options['fields']['field_related_objects']['group_rows'] = 1;
$handler->display->display_options['fields']['field_related_objects']['delta_offset'] = '0';
$handler->display->display_options['fields']['field_related_objects']['delta_reversed'] = 0;
$handler->display->display_options['fields']['field_related_objects']['field_api_classes'] = 0;
/* Sort criterion: Content: Title */
$handler->display->display_options['sorts']['title']['id'] = 'title';
$handler->display->display_options['sorts']['title']['table'] = 'node';
$handler->display->display_options['sorts']['title']['field'] = 'title';
/* Filter criterion: Content: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 0;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filter criterion: Content: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
  'resource' => 'resource',
);
/* Filter criterion: Content: Theme (field_tags) */
$handler->display->display_options['filters']['field_tags_tid']['id'] = 'field_tags_tid';
$handler->display->display_options['filters']['field_tags_tid']['table'] = 'field_data_field_tags';
$handler->display->display_options['filters']['field_tags_tid']['field'] = 'field_tags_tid';
$handler->display->display_options['filters']['field_tags_tid']['relationship'] = 'field_related_objects_nid';
$handler->display->display_options['filters']['field_tags_tid']['exposed'] = TRUE;
$handler->display->display_options['filters']['field_tags_tid']['expose']['operator_id'] = 'field_tags_tid_op';
$handler->display->display_options['filters']['field_tags_tid']['expose']['label'] = 'Theme ';
$handler->display->display_options['filters']['field_tags_tid']['expose']['operator'] = 'field_tags_tid_op';
$handler->display->display_options['filters']['field_tags_tid']['expose']['identifier'] = 'theme';
$handler->display->display_options['filters']['field_tags_tid']['expose']['reduce'] = 0;
$handler->display->display_options['filters']['field_tags_tid']['reduce_duplicates'] = 1;
$handler->display->display_options['filters']['field_tags_tid']['type'] = 'select';
$handler->display->display_options['filters']['field_tags_tid']['vocabulary'] = 'theme';
$handler->display->display_options['filters']['field_tags_tid']['error_message'] = 1;

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'resources';
$handler->display->display_options['menu']['type'] = 'normal';
$handler->display->display_options['menu']['title'] = 'Browse the Resources';
$handler->display->display_options['menu']['weight'] = '0';
$handler->display->display_options['menu']['name'] = 'main-menu';

Comments

dawehner’s picture

If there are duplicates groupby/distinct sometimes it's not possible by just changing the query because you might something fundamental wrong.

You perhaps have some kind of field/filter/sort etc. which has multiple values per node.
One thing i realized when looking at the export it seems to be that you use the field to filter for taxonomy. Better add a relationship "content: taxonomy terms on node" and then add a "content: has taxonomy term". This could fix one possible issue of the duplicates.

mustanggb’s picture

Category: Task » Support request
Status: Active » Closed (outdated)

Closing this as outdated to tidy up a bit around here. If you're still having problems with the latest release please create a new issue.