Write correct, performant SQL across all major data warehouse dialects (Snowflake, BigQuery, Databricks, PostgreSQL, etc.). Use when writing queries, optimizing slow SQL, translating between dialects, or building complex analytical queries with CTEs, window functions, or aggregations.
Write correct, performant, readable SQL across all major data warehouse dialects.
date_column + INTERVAL '7 days', DATE_TRUNC('month', created_at)ILIKE, regex with ~, SPLIT_PART()data->>'key', data#>>'{path,to,key}'ARRAY_AGG(), ANY(), @> containmentEXPLAIN ANALYZE, partial indexes, EXISTS over INDATEADD(day, 7, date_column), DATEDIFF()column:key::string dot notation, LATERAL FLATTEN()RESULT_SCAN()DATE_ADD(), DATE_DIFF(), DATE_TRUNC(date, MONTH)LOWER(), REGEXP_CONTAINS()UNNEST(), ARRAY_AGG()APPROX_COUNT_DISTINCT(), avoid SELECT *DATEADD(), DATEDIFF(), DATE_TRUNC()ILIKE, LISTAGG()DISTKEY, SORTKEY, ANALYZE, VACUUMTIMESTAMP AS OF, MERGE INTO for upsertsOPTIMIZE, ZORDER, CACHE TABLEROW_NUMBER() OVER (PARTITION BY user_id ORDER BY created_at DESC)
SUM(revenue) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
LAG(value, 1) OVER (PARTITION BY entity ORDER BY date)
revenue / SUM(revenue) OVER () as pct_of_total
WITH
base_users AS (SELECT ...),
user_metrics AS (SELECT ... FROM base_users ...),
summary AS (SELECT ... FROM user_metrics ...)
SELECT * FROM summary;
WITH cohorts AS (
SELECT user_id, DATE_TRUNC('month', first_activity_date) as cohort_month
FROM users
),
activity AS (
SELECT user_id, DATE_TRUNC('month', activity_date) as activity_month
FROM user_activity
)
SELECT cohort_month, COUNT(DISTINCT user_id) as cohort_size,
COUNT(DISTINCT CASE WHEN activity_month = cohort_month THEN user_id END) as month_0,
COUNT(DISTINCT CASE WHEN activity_month = cohort_month + INTERVAL '1 month' THEN user_id END) as month_1
FROM cohorts LEFT JOIN activity USING (user_id)
GROUP BY cohort_month;
Use conditional aggregation with MAX(CASE WHEN event = 'X' THEN 1 ELSE 0 END) per step, then compute conversion rates between steps.
WITH ranked AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY entity_id ORDER BY updated_at DESC) as rn
FROM source_table
)
SELECT * FROM ranked WHERE rn = 1;
CAST(col AS DATE))NULLIF(denominator, 0)