I have a simple view of comments. I added an integer field. I'm trying to group comments by comment nid and then do certain aggregated calculations on the integer field (sum, total, avg, etc.)
No matter what I try, I can't group by the comment NID, or any other field for that matter. I keep getting a view showing all the records like:
Nid:2
Integer:10
Nid:2
Integer:20
Nid:2
Integer:30
When it should show (total integer):
Nid:2
Integer:60
Or:(average integer)
Nid:2
Integer:20
Where am I going wrong? No matter what I've tried, I've never been able to combine the rows. There are always as many rows as there are comments. Regardless or display or fields used.
Comments
Comment #1
merlinofchaos commentedCan you please attach an export of a view that demonstrates this behavior, and cut & paste the query that this view generates? (You may have to enable query display in the settings). Then please set this issue to active again.
Comment #2
IWasBornToWin commentedHere is the export along with a screenshot of the view and query. This view has 2 blocks. block 1 is normal, block 2 is with aggregate and attempt to group on nid and total rating field. But both views show identical results though.
$view = new view;
$view->name = 'comment_totals';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'comment';
$view->human_name = 'comment totals';
$view->core = 7;
$view->api_version = '3.0';
$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['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'fields';
/* Relationship: Comment: Content */
$handler->display->display_options['relationships']['nid']['id'] = 'nid';
$handler->display->display_options['relationships']['nid']['table'] = 'comment';
$handler->display->display_options['relationships']['nid']['field'] = 'nid';
$handler->display->display_options['relationships']['nid']['required'] = 1;
/* Field: Comment: Nid */
$handler->display->display_options['fields']['nid']['id'] = 'nid';
$handler->display->display_options['fields']['nid']['table'] = 'comment';
$handler->display->display_options['fields']['nid']['field'] = 'nid';
$handler->display->display_options['fields']['nid']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['nid']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['nid']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['nid']['alter']['external'] = 0;
$handler->display->display_options['fields']['nid']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['nid']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['nid']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['nid']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['nid']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['nid']['alter']['more_link'] = 0;
$handler->display->display_options['fields']['nid']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['nid']['alter']['trim'] = 0;
$handler->display->display_options['fields']['nid']['alter']['html'] = 0;
$handler->display->display_options['fields']['nid']['element_label_colon'] = 1;
$handler->display->display_options['fields']['nid']['element_default_classes'] = 1;
$handler->display->display_options['fields']['nid']['hide_empty'] = 0;
$handler->display->display_options['fields']['nid']['empty_zero'] = 0;
$handler->display->display_options['fields']['nid']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['nid']['separator'] = '';
$handler->display->display_options['fields']['nid']['format_plural'] = 0;
/* Field: Comment: Rating */
$handler->display->display_options['fields']['field_rating']['id'] = 'field_rating';
$handler->display->display_options['fields']['field_rating']['table'] = 'field_data_field_rating';
$handler->display->display_options['fields']['field_rating']['field'] = 'field_rating';
$handler->display->display_options['fields']['field_rating']['group_type'] = 'sum';
$handler->display->display_options['fields']['field_rating']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_rating']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_rating']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_rating']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_rating']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_rating']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_rating']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_rating']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_rating']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_rating']['alter']['more_link'] = 0;
$handler->display->display_options['fields']['field_rating']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_rating']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_rating']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_rating']['element_label_colon'] = 1;
$handler->display->display_options['fields']['field_rating']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_rating']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_rating']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_rating']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['field_rating']['type'] = 'list_key';
$handler->display->display_options['fields']['field_rating']['field_api_classes'] = 0;
/* Sort criterion: Comment: Post date */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'comment';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
/* Filter criterion: Comment: Approved */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'comment';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filter criterion: Content: Published */
$handler->display->display_options['filters']['status_node']['id'] = 'status_node';
$handler->display->display_options['filters']['status_node']['table'] = 'node';
$handler->display->display_options['filters']['status_node']['field'] = 'status';
$handler->display->display_options['filters']['status_node']['relationship'] = 'nid';
$handler->display->display_options['filters']['status_node']['value'] = 1;
$handler->display->display_options['filters']['status_node']['group'] = 1;
$handler->display->display_options['filters']['status_node']['expose']['operator'] = FALSE;
/* Filter criterion: Comment: Rating (field_rating) */
$handler->display->display_options['filters']['field_rating_value']['id'] = 'field_rating_value';
$handler->display->display_options['filters']['field_rating_value']['table'] = 'field_data_field_rating';
$handler->display->display_options['filters']['field_rating_value']['field'] = 'field_rating_value';
$handler->display->display_options['filters']['field_rating_value']['operator'] = 'not empty';
/* Display: Block */
$handler = $view->new_display('block', 'Block', 'block_1');
/* Display: Block 2 */
$handler = $view->new_display('block', 'Block 2', 'block_2');
$handler->display->display_options['defaults']['group_by'] = FALSE;
$handler->display->display_options['group_by'] = TRUE;
Comment #3
IWasBornToWin commentedUghhh....i think I just found the problem. I had the view sorted. It looks like it was making another GROUP in the query. Removed sorting and it worked. I hope this helps someone else. I spent HOURS on this.
Comment #4
mustanggb commented