Download & Extend

Table sorting doesn´t work

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.

nobody click here