一位数据工程师使用 Amazon Athena 查询 Amazon S3 中的销售数据。查询 2023 年按产品汇总销售额时,并非所有产品都返回了结果。原始查询是:SELECT product_name, sum(sales_amount) FROM sales_data - WHERE year = 2023 - GROUP BY product_name - 工程师应如何修改 Athena 查询才能获得正确的结果?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 将 WHERE year = 2023 更改为 WHERE extract(year FROM sales_data) = 2023。.
为什么这是答案
正确的做法是将 WHERE year = 2023 修改为 WHERE extract(year FROM salesdata) = 2023。这假设 salesdata 列包含日期或时间戳信息。extract(year FROM salesdata) 函数能够从日期/时间戳字段中提取年份,确保查询能正确筛选出2023年的数据。如果 year 是一个独立的数字列,那么原始查询是正确的。然而,当它是一个日期/时间戳列时,直接比较 year = 2023 会失败,因为 year 列本身不是一个整数。 将 sum(salesamount) 替换为 count() 会改变查询目的,不再计算销售额。在 GROUP BY 子句后添加 HAVING sum(salesamount) 0 只会过滤掉销售额为零或负数的产品,并不能解决数据不完整的问题。删除 GROUP BY 子句会导致查询返回所有产品的总销售额,而不是按产品汇总。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡