考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

To retrieve product id and sales of the best-selling product from table sales, the correct SQL statement is _____
A. SELECT product_id, sales FROM sales WHERE sales=MAX(sales)
B. SELECT product_id, MAX(sales) FROM sales GROUP BY sales
C. SELECT product_id, MAX(sales) FROM sales GROUP BY product_id
D. SELECT product_id, sales FROM sales WHERE sales=(SELECT MAX(sales) FROM sales)
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

First get the maximum sales: SELECT MAX(sales) FROM sales; Then use it as condition to filter for id and sales. So subquery is needed.

正确答案是:D: SELECT product_id, sales FROM sales WHERE sales=(SELECT MAX(sales) FROM sales)

专业分析:

A: SELECT product_id, sales FROM sales WHERE sales=MAX(sales)
这个选项是错误的,因为在SQL中,MAX函数不能直接在WHERE子句中使用。MAX是一个聚合函数,应该在SELECT子句或HAVING子句中使用。

B: SELECT product_id, MAX(sales) FROM sales GROUP BY sales
这个选项也是错误的,因为GROUP BY子句应该根据你想要分组的列来进行分组。在这种情况下,应该根据product_id进行分组,而不是sales。

C: SELECT product_id, MAX(sales) FROM sales GROUP BY product_id
这个选项虽然在语法上是正确的,但它返回的是每个product_id的最高销售额,而不是销售额最高的产品。

D: SELECT product_id, sales FROM sales WHERE sales=(SELECT MAX(sales) FROM sales)
这个选项是正确的。它通过子查询SELECT MAX(sales) FROM sales找到了最高的销售额,然后在外层查询中通过WHERE子句筛选出具有该销售额的产品id和销售额。

因此,选项D是正确的答案。