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

备考刷题,请到

CDA认证小程序

某电商平台需要分析用户购买行为,数据表包含订单表(orders)和用户表(users)。订单表字段为 order_id(订单ID)、user_id(用户ID)、amount(订单金额),用户表字段为 user_id(用户ID,主键)、user_name(用户名)。现需统计每个用户的总消费金额,并筛选出总消费超过 1万元 的用户姓名及金额。以下哪个SQL语句能正确实现该需求?
A. SELECT u.user_name, SUM(o.amount) AS total_spent FROM orders o, users u WHERE o.user_id = u.user_id AND SUM(o.amount) > 10000 GROUP BY u.user_name;
B. SELECT u.user_name, SUM(o.amount) AS total_spent FROM orders o LEFT JOIN users u ON o.user_id = u.user_id GROUP BY u.user_name HAVING total_spent > 10000;
C. SELECT u.user_name, SUM(o.amount) AS total_spent FROM orders o left JOIN users u ON o.user_id = u.user_id GROUP BY u.user_id HAVING SUM(o.amount) > 10000;
D. SELECT u.user_name, SUM(o.amount) AS total_spent FROM orders o JOIN users u ON o.user_id = u.user_id GROUP BY u.user_name HAVING SUM(o.amount) > 10000;
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

使用 left JOIN 正确关联订单和用户表,确保仅保留有订单的用户。 GROUP BY u.use_id 按用户ID分组,SUM(o.amount) 计算总消费金额。 HAVING SUM(o.amount) > 10000 对聚合结果过滤,语法正确。注意要用户名字可能重名,user_id是主键,不会重复