Error message

You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).

function DatabaseSelectComplexTestCase::testGroupBy

Test GROUP BY clauses.

File

modules/simpletest/tests/database_test.test, line 2195

Class

DatabaseSelectComplexTestCase
Test more complex select statements.

Code

function testGroupBy() {
 $query = db_select ('test_task', 't');
 $count_field = $query->addExpression ('COUNT(task)', 'num');
 $task_field = $query->addField ('t', 'task');
 $query->orderBy ($count_field);
 $query->groupBy ($task_field);
 $result = $query->execute ();
 $num_records = 0;
 $last_count = 0;
 $records = array();
 foreach ($result as $record) {
 $num_records++;
 $this->assertTrue ($record->{$count_field} >= $last_count, 'Results returned in correct order.');
 $last_count = $record->{$count_field};
 $records[$record->{$task_field}] = $record->{$count_field};
 }
 $correct_results = array(
 'eat' => 1,
 'sleep' => 2,
 'code' => 1,
 'found new band' => 1,
 'perform at superbowl' => 1,
 );
 foreach ($correct_results as $task => $count) {
 $this->assertEqual ($records[$task], $count, format_string ("Correct number of '@task' records found.", array(
 '@task' => $task,
 )));
 }
 $this->assertEqual ($num_records, 6, 'Returned the correct number of total rows.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.