Expand description
Runtime Aggregation SQL Generation Module
This module generates database-specific SQL from aggregation execution plans.
§Database-Specific SQL
§PostgreSQL
SELECT
data->>'category' AS category,
DATE_TRUNC('day', occurred_at) AS occurred_at_day,
COUNT(*) AS count,
SUM(revenue) AS revenue_sum
FROM tf_sales
WHERE customer_id = $1
GROUP BY data->>'category', DATE_TRUNC('day', occurred_at)
HAVING SUM(revenue) > $2
ORDER BY revenue_sum DESC
LIMIT 10§MySQL
SELECT
JSON_UNQUOTE(JSON_EXTRACT(data, '$.category')) AS category,
DATE_FORMAT(occurred_at, '%Y-%m-%d') AS occurred_at_day,
COUNT(*) AS count,
SUM(revenue) AS revenue_sum
FROM tf_sales
WHERE customer_id = ?
GROUP BY JSON_UNQUOTE(JSON_EXTRACT(data, '$.category')), DATE_FORMAT(occurred_at, '%Y-%m-%d')
HAVING SUM(revenue) > ?
ORDER BY revenue_sum DESC
LIMIT 10§SQLite
SELECT
json_extract(data, '$.category') AS category,
strftime('%Y-%m-%d', occurred_at) AS occurred_at_day,
COUNT(*) AS count,
SUM(revenue) AS revenue_sum
FROM tf_sales
WHERE customer_id = ?
GROUP BY json_extract(data, '$.category'), strftime('%Y-%m-%d', occurred_at)
HAVING SUM(revenue) > ?
ORDER BY revenue_sum DESC
LIMIT 10Structs§
- Aggregation
Sql - SQL query components
- Aggregation
SqlGenerator - Aggregation SQL generator