SQL variables

Last updated:

|Edit this page

SQL variables allow 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 pane. 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: Lists of values for IN clauses
  • Boolean: True/false values for conditional logic

Questions? Ask Max AI.

It's easier than reading through 623 docs articles.

Community questions

Was this page useful?

Next article

SQL tutorials

Got a question which isn't answered below? Head to the community forum to let us know! Check our product analytics tutorials for more information about analyzing events. Examples How to do time-based breakdowns (hour, minute, real time) in HogQL The power of SQL's sum() aggregation Using SQL for advanced time and date filters Using SQL for advanced breakdowns How to filter and breakdown arrays with SQL How to use Recharts to visualize analytics data How to use React Charts to visualize…

Read next article