Fix Notion Database Filter Group AND/OR Nesting Limit Workaround
🔍 WiseChecker

Fix Notion Database Filter Group AND/OR Nesting Limit Workaround

Notion database filters let you narrow down views using conditions like “Contains” or “Is empty.” But when you combine AND and OR logic inside a single filter group, Notion enforces a nesting limit. This limit prevents you from adding more than three levels of nested OR groups inside an AND group or vice versa. This article explains why the limit exists and provides a reliable workaround using linked databases and formula properties.

Key Takeaways: Working Around Notion’s Filter Group Nesting Limit

  • Filter group nesting limit: Notion allows a maximum of three nested OR groups inside an AND group (or vice versa) before the interface blocks further additions.
  • Linked database with a formula column: Move complex logic into a formula property that outputs a checkbox, then filter on that checkbox to bypass the nesting limit.
  • Multiple linked databases in sequence: Split a deeply nested filter into two linked databases, each applying a subset of conditions, to achieve the same result without hitting the limit.

ADVERTISEMENT

Why Notion Limits AND/OR Filter Group Nesting

Notion’s database filter system uses a visual builder where each condition is a row and groups can be nested. An AND group requires all conditions inside it to be true. An OR group requires at least one condition inside it to be true. You can nest OR groups inside an AND group or AND groups inside an OR group.

The nesting limit is a technical safeguard. Each nested group increases the complexity of the query that Notion sends to its backend. Beyond three levels of nesting, the query becomes too large or slow for the real-time filtering engine. Notion blocks further additions to keep the interface responsive.

The limit appears when you try to add a fourth OR group inside an AND group. The “Add filter group” button becomes unavailable, or the new group collapses without being saved. This behavior is consistent across the web app, desktop app, and mobile app.

Steps to Work Around the Nesting Limit

Two reliable methods exist. Choose the one that best fits your data structure.

Method 1: Use a Formula Property to Reduce Nesting

  1. Create a formula property in your database
    Click the + icon at the rightmost column of your database table. Select “Formula” as the property type. Name the property “ComplexFilter” or something similar.
  2. Write the combined logic as a formula
    Combine all the conditions that were inside your nested groups into a single formula. Use the if() function with and() and or() operators. For example, to show rows where Status is “Done” AND (Priority is “High” OR Priority is “Medium”):
    if(and(prop("Status") == "Done", or(prop("Priority") == "High", prop("Priority") == "Medium")), true, false)
    This formula returns a checkbox. Checked means the row passes the combined logic.
  3. Add a filter on the formula property
    Open the filter menu in your database view. Add a filter condition: “ComplexFilter” “Is” “Checked”. Remove all other filter groups. The view now shows only rows that match your complex logic, and you never hit the nesting limit.

Method 2: Split the Logic Across Two Linked Databases

  1. Create a second database linked to the first
    Create a new database. Add a relation property that links rows from the new database to rows in the original database. Add a rollup property that pulls a value from the original database if you need it for filtering.
  2. Apply one half of the filter to the first database
    In the original database, apply the filter conditions that form the outer AND group. For example, filter for Status is “Done” and Assigned To is “You.” This reduces the rows that will be passed to the second database.
  3. Apply the other half of the filter to the second database
    In the second database, create a linked view of the original database. Apply the inner OR conditions here, such as Priority is “High” OR Priority is “Medium.” Because the outer conditions are already handled by the first database, the second database only sees a subset of rows, and the nesting stays within the limit.
  4. Use the second database as your working view
    All rows in the second database now match the full combined filter. You can add more columns, change the view type, or share this database without touching the original filter again.

ADVERTISEMENT

If the Workaround Still Shows Too Many or Too Few Rows

Formula returns unexpected results

Check the syntax of your if() function. Notion formulas are case-sensitive for property names. Use the exact property name as it appears in the database header. If a property contains spaces, wrap it in quotes: prop("Due Date"). Test the formula on a single row by adding a temporary text property that displays the formula’s output.

Linked database shows duplicate rows

When you create a linked view in the second database, it shows all rows from the original database that match the second database’s filter. If the first database’s filter is not applied correctly, duplicates appear. Double-check that the first database’s filter is active and saved. Refresh the second database’s view by closing and reopening the page.

Rollup values do not update

Rollup properties recalculate only when the related row changes. If you edit a property in the original database, the rollup in the second database may take a few seconds to update. Manually trigger a refresh by clicking the rollup cell and pressing Enter without changing the value.

Notion Filter Group Methods Compared

Method Max Nesting Levels Setup Complexity
Native filter groups (AND/OR) 3 Low
Formula property with checkbox Unlimited (via formula logic) Medium
Two linked databases Unlimited (split across databases) High

The native filter group method is the simplest but hits the limit quickly. The formula method works for most users and requires no extra databases. The two-database method is best for teams that need to share filtered views without letting others modify the original data.

You now have two concrete ways to bypass the AND/OR nesting limit in Notion database filters. Start with the formula method because it keeps your workspace simple. If your logic involves values from related databases, use the linked database method instead. To verify your workaround is working, add a temporary view with no filters and compare the row count against your filtered view.

ADVERTISEMENT