Learn more about the Cortex Query Language max
function used with both comp
and windowcomp
stages.
Syntax
comp max(<field>) [as <alias>] by <field_1>,<field_2> [addrawdata = true|false [as <target field>]]
windowcomp max(<field>) [by <field> [,<field>,...]] [sort [asc|desc] <field1> [, [asc|desc] <field2>,...]] [between 0|null|<number>|-<number> [and 0|null|<number>|-<number>] [frame_type=range]] [as <alias>]
Description
The max()
function is used to return the maximum value of an integer field over a group of rows. The function syntax and application is based on the preceding stage:
When the max
aggregation function is used with a comp stage, the function returns a single maximum value of an integer field for a group of rows, for all records that contain matching values for the fields identified in the by
clause.
In addition, you can configure whether the raw data events are displayed by setting addrawdata
to either true
or false
(default), which are used to configure the final comp
results. When including raw data events in your query, the query runs for up to 50 fields that you define and displays up to 100 events.
When the max
aggregate function is used with a windowcomp stage, the function returns a single maximum value of an integer field for each row in the group of rows, for all records that contain matching values for the fields identified using a combination of the by
clause, sort
, and between
window frame clause. The results are provided in a new column in the results table.
Examples
Return a single maximum value of the action_total_download
field for a group of rows, for all records that have matching values for their actor_process_image_path
and actor_process_command_line
values. The query calculates a maximum of 100 xdr_data
records and includes a raw_data
column listing a single value for the results.
dataset = xdr_data | fields actor_process_image_path as Process_Path, actor_process_command_line as Process_CMD, action_total_download as Download | filter Download > 0 | limit 100 | comp max(Download) as max_download by Process_Path, Process_CMD addrawdata = true as raw_data
Return the last login time. The query returns a maximum of 100 authentication_story
records in a column called action_user_agent
.
preset = authentication_story | limit 100 | windowcomp max(_time) by action_user_agent