1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- [discrete]
- [[esql-agg-count]]
- === `COUNT`
- *Syntax*
- [source,esql]
- ----
- COUNT([expression])
- ----
- *Parameters*
- `expression`::
- Expression that outputs values to be counted.
- If omitted, equivalent to `COUNT(*)` (the number of rows).
- *Description*
- Returns the total number (count) of input values.
- *Supported types*
- Can take any field type as input.
- *Examples*
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/stats.csv-spec[tag=count]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/stats.csv-spec[tag=count-result]
- |===
- To count the number of rows, use `COUNT()` or `COUNT(*)`:
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/docs.csv-spec[tag=countAll]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/docs.csv-spec[tag=countAll-result]
- |===
- The expression can use inline functions. This example splits a string into
- multiple values using the `SPLIT` function and counts the values:
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/stats.csv-spec[tag=docsCountWithExpression]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/stats.csv-spec[tag=docsCountWithExpression-result]
- |===
- [[esql-agg-count-or-null]]
- To count the number of times an expression returns `TRUE` use
- a <<esql-where>> command to remove rows that shouldn't be included:
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/stats.csv-spec[tag=count-where]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/stats.csv-spec[tag=count-where-result]
- |===
- To count the same stream of data based on two different expressions
- use the pattern `COUNT(<expression> OR NULL)`:
- [source.merge.styled,esql]
- ----
- include::{esql-specs}/stats.csv-spec[tag=count-or-null]
- ----
- [%header.monospaced.styled,format=dsv,separator=|]
- |===
- include::{esql-specs}/stats.csv-spec[tag=count-or-null-result]
- |===
|