SQL variables

Last updated:

|

SQL variables enable you to create configurable, reusable queries by defining placeholders that can be dynamically replaced with different values.

Using variables in SQL queries

You must first create a variable in the variable sidebar panel. Once created, variables in PostHog SQL are defined using the {variables.<variable-name>} syntax. When you write a query with variables, you'll be prompted to provide values for each variable.

For example, this query uses a variable to filter events by a specific date range:

SQL
SELECT
event,
count() as count
FROM events
WHERE timestamp >= {variables.startdate}
AND timestamp <= {variables.enddate}
GROUP BY event
ORDER BY count DESC
LIMIT 10

When you run this query, you'll be prompted to provide values for startdate and enddate.

SQL Editor variable example

Variable types

Variables can be used for various data types:

  • String: Text values like event names or property values
  • Number: Numeric values for thresholds or limits
  • Date: Timestamp values for time-based filtering
  • List: List of pre-defined values to select
  • Boolean: True/false values for conditional logic

Questions? Ask Max AI.

It's easier than reading through 799 pages of documentation

Community questions

Was this page useful?

Next article

Creating views

In the PostHog data warehouse, you can save your most used queries as views and reference them in subsequent queries. Creating a view Query views are created directly inside SQL insights. If the query has valid view characteristics, the Save as view button is enabled. When clicked, you are prompted to give the view a name which can then be referenced in other queries. For a query to be a valid view, all fields being accessed must be aliased (with the SQL as keyword). The alias names are…

Read next article