MySQL HeatWave User Guide
The following table shows supported aggregate functions. The VARLEN Support column identifies functions that support variable-length encoded string columns. See Section 5.8.1.4, “Encoding String Columns”.
Table 5.1 Aggregate (GROUP BY) Functions
Name | VARLEN Support | Description |
---|---|---|
AVG() |
Return the average value of the argument | |
COUNT() |
Yes | Return a count of the number of rows returned |
COUNT(DISTINCT) |
Return the count of a number of different values | |
GROUP_CONCAT() |
Yes | Return a concatenated string. See Section 11.2.1.4, “Functions and Operator Limitations”. |
HLL() |
Yes | Only available in MySQL HeatWave. Similar to
COUNT(DISTINCT) , but faster
and with user defined precision. |
JSON_ARRAYAGG() |
Return result set as a single JSON array. Supported as of MySQL 9.0.0. | |
JSON_OBJECTAGG() |
Return result set as a single JSON object literal. Supported as of MySQL 9.0.0. | |
MAX() |
Yes | Return the maximum value |
MIN() |
Yes | Return the minimum value |
STD() |
Return the population standard deviation | |
STDDEV() |
Return the population standard deviation | |
STDDEV_POP() |
Return the population standard deviation | |
STDDEV_SAMP() |
Return the sample standard deviation | |
SUM() |
Return the sum | |
VAR_POP() |
Return the population standard variance | |
VAR_SAMP() |
Return the sample variance | |
VARIANCE() |
Return the population standard variance |
HLL(
expr
,[expr
...],
precision
)
Returns an approximate count of the number of rows with
different non-NULL
expr
values. 4
≤ precision
≤
15
. The default value is
10
.
If there are no matching rows,
HLL()
returns
0
.
As of MySQL 8.4.0, HyperLogLog,
HLL()
, is available in the
MySQL HeatWave primary and secondary engines. Before MySQL 8.4.0,
HyperLogLog, HLL()
, is only
available in the MySQL HeatWave secondary engine. It is similar to
COUNT(DISTINCT)
, but with
user defined precision.
HLL()
is faster than
COUNT(DISTINCT)
. The greater
the precision
, the greater the
accuracy, and the greater the amount of memory required.
For each GROUP
,
HLL()
requires
2precision bytes of memory. The
default value of 10
requires
1KiB
of memory per
GROUP
.
An example with precision set to 8
that
uses 256 bytes of memory per GROUP
:
mysql> SELECT HLL(results, 8) FROM student;