Jump to:
| Project: | Views Group By |
| Version: | 6.x-1.x-dev |
| Component: | Code |
| Category: | bug report |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | active |
Issue Summary
I´ve build up a view with 2 sql aggregation fields (one for count, the other to sum up some data).
Now I want some of the aggreageted field to be sortable. If I then click on the table head to sort the data it will break.
Error message:
# user warning: Can't group on 'node_data_field_spieler_field_2min_value' query: SELECT COUNT(node.nid) AS nid, node_data_field_spieler.field_spieler_nid AS node_data_field_spieler_field_spieler_nid, node.type AS node_type, node.vid AS node_vid, SUM(node_data_field_spieler.field_7meter_value) AS node_data_field_spieler_field_7meter_value, SUM(node_data_field_spieler.field_7meter_tore_value) AS node_data_field_spieler_field_7meter_tore_value, SUM(node_data_field_spieler.field_tore_value) AS node_data_field_spieler_field_tore_value, SUM(node_data_field_spieler.field_2min_value) AS node_data_field_spieler_field_2min_value, SUM(node_data_field_spieler.field_gelb_value) AS node_data_field_spieler_field_gelb_value, SUM(node_data_field_spieler.field_rot_value) AS node_data_field_spieler_field_rot_value, node_data_field_liga_spiel.field_liga_spiel_nid AS node_data_field_liga_spiel_field_liga_spiel_nid FROM node node LEFT JOIN content_type_statistik node_data_field_spieler ON node.vid = node_data_field_spieler.vid LEFT JOIN content_field_liga_spiel node_data_field_liga_spiel ON node.vid = node_data_field_liga_spiel.vid WHERE node.type in ('statistik') GROUP BY node_data_field_spieler_field_spieler_nid, node_data_field_spieler_field_2min_value ORDER BY node_data_field_spieler_field_tore_value DESC, node_data_field_spieler_field_tore_value DESC, node_data_field_spieler_field_2min_value ASC in C:\Users\Oliver Pocher\Desktop\My Dropbox\Homepage\drupal\sites\all\modules\views\includes\view.inc on line 775.
# user warning: Can't group on 'node_data_field_spieler_field_2min_value' query: SELECT COUNT(node.nid) AS nid, node_data_field_spieler.field_spieler_nid AS node_data_field_spieler_field_spieler_nid, node.type AS node_type, node.vid AS node_vid, SUM(node_data_field_spieler.field_7meter_value) AS node_data_field_spieler_field_7meter_value, SUM(node_data_field_spieler.field_7meter_tore_value) AS node_data_field_spieler_field_7meter_tore_value, SUM(node_data_field_spieler.field_tore_value) AS node_data_field_spieler_field_tore_value, SUM(node_data_field_spieler.field_2min_value) AS node_data_field_spieler_field_2min_value, SUM(node_data_field_spieler.field_gelb_value) AS node_data_field_spieler_field_gelb_value, SUM(node_data_field_spieler.field_rot_value) AS node_data_field_spieler_field_rot_value FROM node node INNER JOIN content_field_liga_spiel node_data_field_liga_spiel ON node.vid = node_data_field_liga_spiel.vid LEFT JOIN content_type_statistik node_data_field_spieler ON node.vid = node_data_field_spieler.vid WHERE (node.type in ('statistik')) AND (node_data_field_liga_spiel.field_liga_spiel_nid IN ('1070', '1071', '740')) GROUP BY node_data_field_spieler_field_spieler_nid, node_data_field_spieler_field_2min_value ORDER BY node_data_field_spieler_field_tore_value DESC, node_data_field_spieler_field_tore_value DESC, node_data_field_spieler_field_2min_value ASC in
Comments
#1
ditto - i disabled table sorting as a workaround
#2
Same here. Not able to use table sorting in RC2.
#3
Subscribing
#4
The reason this is happening is because when the title is clicked views calls the function add_orderby which forces the order by and group by to be the same. A quick work around that worked for me was switching in query.inc line 844 in the views module from this:
if ($this->groupby && $table) {$this->add_groupby($as);
}
to this:
if ($this->groupby && $table && !isset($this->fields[$as]['aggregate'])) {$this->add_groupby($as);
}
Didn't really want to alter any other modules but I couldn't find a nice work around with just changing the views_groupby module.
#5
subscribe.