MySQL and PHP

5.34.5 TableSelect::having

Copyright 1997-2021 the PHP Documentation Group.

Description

public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::having(string sort_expr);

Sets a condition for records to consider in aggregate function operations.

Parameters

sort_expr

A condition on the aggregate functions used on the grouping criteria.

Return Values

A TableSelect object.

Examples

Example 5.176 mysql_xdevapi\TableSelect::having example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
$session->sql("INSERT INTO addressbook.names values ('Suki', 31)")->execute();

$schema = $session->getSchema("addressbook");
$table  = $schema->getTable("names");

$result = $table->select('count(*) as count', 'age')
  ->groupBy('age')->orderBy('age asc')
  ->having('count > 1')
  ->execute();

$row = $result->fetchAll();
print_r($row);
?>

   

The above example will output something similar to:

Array
(
    [0] => Array
        (
            [count] => 2
            [age] => 42
        )
)