STD()

USAGE

STD(number)

Argument Name

Description

number

The number to be aggregated

DETAILS

See STDDEV_POP().

SYNONYMS

SCHEMA

PARAMETERS

SKYSQL

PRIVILEGES

EXAMPLES

Example Schema and Data

All of the examples are based on the inventory table:

CREATE TABLE inventory (
  item VARCHAR(20),
  category VARCHAR(20),
  count INT
);
INSERT INTO inventory VALUES
  ('Foo','in stock', 42), ('Foo','back order', 50),
  ('Bar','in stock', 10), ('Bar','back order', 60),
  ('Baz','in stock', 99), ('Baz','back order', 10),
  ('FooBar','in stock', 10), ('FooBar','back order', NULL),
  ('BarBaz','in stock', NULL), ('BarBaz','back order', NULL);

Default Behavior

In this example, all values are used to compute the standard deviation.

The values to be computed:

SELECT item, count
 FROM inventory;
+--------+-------+
| item   | count |
+--------+-------+
| Foo    |    42 |
| Foo    |    50 |
| Bar    |    10 |
| Bar    |    60 |
| Baz    |    99 |
| Baz    |    10 |
| FooBar |    10 |
| FooBar |  NULL |
| BarBaz |  NULL |
| BarBaz |  NULL |
+--------+-------+

The result of computing standard deviation over these item counts:

SELECT STD(count)
 FROM inventory;
+-----------------+
| STD(count)      |
+-----------------+
| 30.902744082686 |
+-----------------+

With GROUP BY

Using STD() with GROUP BY creates a separate population standard deviation for each group. In this example, GROUP BY category creates a separate standard deviation for each unique category:

SELECT category, STD(count)
 FROM inventory
 GROUP BY category
 ORDER BY category;
+------------+-----------------+
| category   | STD(count)      |
+------------+-----------------+
| back order |  21.60246899477 |
| in stock   | 36.348143006211 |
+------------+-----------------+

With NULL Values

When STD() acts on NULL values, those values are not included when computing the standard deviation. In this example, some rows in the data set contain NULL values in the count column:

SELECT *
 FROM inventory
 WHERE item = 'FooBar'
 ORDER BY count;
+--------+------------+-------+
| item   | category   | count |
+--------+------------+-------+
| FooBar | back order |  NULL |
| FooBar | in stock   |    10 |
+--------+------------+-------+

The following example computes a standard deviation of the count column for the FooBar item:

SELECT STD(count)
 FROM inventory
 WHERE item = 'FooBar';
+------------+
| STD(count) |
+------------+
|          0 |
+------------+

With Only NULL Values

When STD() is acting only on NULL values, STD() returns NULL. In this example, all rows in the data set contain NULL values in the count column:

SELECT *
 FROM inventory
 WHERE item = 'BarBaz'
 ORDER BY count;
+--------+------------+-------+
| item   | category   | count |
+--------+------------+-------+
| BarBaz | in stock   |  NULL |
| BarBaz | back order |  NULL |
+--------+------------+-------+

The following example computes a standard deviation of the count column for the BarBaz item:

SELECT STD(count)
 FROM inventory
 WHERE item = 'BarBaz';
+------------+
| STD(count) |
+------------+
|       NULL |
+------------+

ERROR HANDLING

FEATURE INTERACTION

RESPONSES

DIAGNOSIS

ISO 9075:2016

CHANGE HISTORY

Release Series

History

23.09

  • Present starting in MariaDB Xpand 23.09.1.

6.1

  • Present starting in MariaDB Xpand 6.1.0.

6.0

  • Present starting in MariaDB Xpand 6.0.3.

5.3

  • Present starting in MariaDB Xpand 5.3.13.

Release Series

History

6.0

  • Present starting in MariaDB Xpand 6.0.3.

5.3

  • Present starting in MariaDB Xpand 5.3.13.

Release Series

History

6.1

  • Present starting in MariaDB Xpand 6.1.0.

EXTERNAL REFERENCES