Home » Amazon Marketing Cloud » Why would this query fail? SELECT campaign, SUM(impressions) AS impressions FROM dsp_impressions

Why would this query fail? SELECT campaign, SUM(impressions) AS impressions FROM dsp_impressions

  • SELECT statements can not be used to choose metrics from a table.
  • There is no WHERE clause to filter the query results based on one or more conditions.
  • There is no GROUP BY statement; this query cannot be run without aggregation on the campaign dimension.

The correct answer is: There is no GROUP BY statement; this query cannot be run without aggregation on the campaign dimension.

Explanation: The query

SELECT campaign, SUM(impressions) AS impressions FROM dsp_impressions

will fail because there is no GROUP BY statement.

When you use aggregate functions (e.g., SUM(impressions)) together with a dimension (campaign) in the SELECT clause, you must include a GROUP BY campaign clause. Otherwise, SQL engines—including AMC SQL—will return an error, as the query cannot aggregate impressions for each campaign without knowing how to group them.

Reference content: From the official Amazon documentation – AMC SQL Reference

“If a query contains both aggregate functions and non-aggregated columns, a GROUP BY clause must be used to define how each value in the non-aggregated column should be grouped.”

N/A

Leave a Comment