# At-most quantifier

Learn how to check that no more than a certain number of items satisfy a condition.

This quantifier checks whether a given condition is satisfied by no more than a specified number of elements in a collection.

## Syntax

This quantifier has the following syntax:

```cql
at most /*<number>*/ of any /*<item>*/ in /*<collection>*/ satisfies /*<condition>*/
```

Either *satisfy* or *satisfies* can be used interchangeably:

```cql
at most /*<number>*/ of any /*<item>*/ in /*<collection>*/ satisfy /*<condition>*/
```

You can specify whether you want to consider only distinct elements:

```cql
at most /*<number>*/ of any distinct /*<item>*/ in /*<collection>*/ satisfies /*<condition>*/
```

You can also specify a name to refer to the index of the element in the collection:

```cql
at most /*<number>*/ of any /*<item>*/ in /*<collection>*/ indexed by /*<index>*/ satisfies /*<condition>*/
```

You must replace the `/*<item>*/` and `/*<index>*/` placeholders with a [valid identifier](/reference/cql/syntax#identifiers). These variables will refer to the element and its index in the collection, as exemplified in the following section.

## Examples \[#at-most-examples]

Here is an example that check whether at most two numbers in a collection are even:

```cql
at most 2 of any number in [2, 4, 6] satisfies number mod 2 is 0 // true
```

The following example checks whether the user added no more than two products over $50 after adding the first item to the cart:

```cql
at most 2 of any item in cart indexed by index satisfies item's price > 50 and index >= 1
```

Lastly, this example checks if a user has at most two distinct products of the category "Electronics" in their cart:

```cql
at most 2 of any distinct item in cart satisfies item's category is "Electronics"
```
