SQL:市场分析 I

Table: Users

+----------------+---------+
| Column Name    | Type    |
+----------------+---------+
| user_id        | int     |
| join_date      | date    |
| favorite_brand | varchar |
+----------------+---------+
此表主键是 user_id。
表中描述了购物网站的用户信息,用户可以在此网站上进行商品买卖。
 

Table: Orders

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| order_id      | int     |
| order_date    | date    |
| item_id       | int     |
| buyer_id      | int     |
| seller_id     | int     |
+---------------+---------+
此表主键是 order_id。
外键是 item_id 和(buyer_id,seller_id)。
 

Table: Items

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| item_id       | int     |
| item_brand    | varchar |
+---------------+---------+
此表主键是 item_id。
 

请写出一条SQL语句以查询每个用户的注册日期和在 2019 年作为买家的订单总数。

以 任意顺序 返回结果表。

查询结果格式如下。

 

示例 1:

输入:
Users 表:
+---------+------------+----------------+
| user_id | join_date  | favorite_brand |
+---------+------------+----------------+
| 1       | 2018-01-01 | Lenovo         |
| 2       | 2018-02-09 | Samsung        |
| 3       | 2018-01-19 | LG             |
| 4       | 2018-05-21 | HP             |
+---------+------------+----------------+
Orders 表:
+----------+------------+---------+----------+-----------+
| order_id | order_date | item_id | buyer_id | seller_id |
+----------+------------+---------+----------+-----------+
| 1        | 2019-08-01 | 4       | 1        | 2         |
| 2        | 2018-08-02 | 2       | 1        | 3         |
| 3        | 2019-08-03 | 3       | 2        | 3         |
| 4        | 2018-08-04 | 1       | 4        | 2         |
| 5        | 2018-08-04 | 1       | 3        | 4         |
| 6        | 2019-08-05 | 2       | 2        | 4         |
+----------+------------+---------+----------+-----------+
Items 表:
+---------+------------+
| item_id | item_brand |
+---------+------------+
| 1       | Samsung    |
| 2       | Lenovo     |
| 3       | LG         |
| 4       | HP         |
+---------+------------+
输出:
+-----------+------------+----------------+
| buyer_id  | join_date  | orders_in_2019 |
+-----------+------------+----------------+
| 1         | 2018-01-01 | 1              |
| 2         | 2018-02-09 | 2              |
| 3         | 2018-01-19 | 0              |
| 4         | 2018-05-21 | 0              |
+-----------+------------+----------------+

方法1

select
  a.user_id buyer_id,
  a.join_date,
  sum(if(year(b.order_date)='2019', 1, 0)) orders_in_2019
from Users a
left join Orders b on a.user_id = b.buyer_id
group by a.user_id

方法2

select
  a.user_id buyer_id,
  a.join_date,
  sum(case when year(b.order_date)='2019' then 1 else 0 end) orders_in_2019
from Users a
left join Orders b on a.user_id = b.buyer_id
group by user_id

方法3

select
  a.user_id buyer_id,
  a.join_date,
  sum(case when order_date like '2019%' then 1 else 0 end) orders_in_2019
from Users a
left join Orders b on a.user_id = b.buyer_id 
group by user_id

方法4

select
  a.user_id buyer_id,
  a.join_date,
  count(order_id) orders_in_2019
from Users a
left join Orders b on a.user_id = b.buyer_id and year(b.order_date)='2019'
group by user_id
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SQL客户数据分析案例的具体实施可以根据客户的需求不同而有所不同。通常可以从以下几个方面入手:1)调查客户的业务,确定分析目标;2)收集和清理数据;3)使用SQL技术分析客户数据;4)将分析结果可视化展示出来;5)对分析结果进行总结和分析,以支持客户的决策。 ### 回答2: SQL客户数据分析案例是指通过SQL语言对企业的客户数据进行分析和挖掘,从中得出有价值的信息和洞见,为企业决策和战略制定提供支持。 一个实际的案例是某电商企业进行客户行为分析。该企业想要了解客户的购物喜好、消费水平和购买行为等信息,以便制定精确的营销策略和个性化推荐。 首先,从企业的数据库中提取所需的客户数据。通过SQL语句,可以选择需要的数据表和字段,并进行筛选和排序,如选择购买时间、购买金额、商品种类、用户性别等信息。 接下来,可以使用聚合函数和GROUP BY语句进行统计分析。例如,可以使用COUNT函数计算总客户数、购买次数。使用SUM函数计算总销售额、平均购买金额等。通过GROUP BY语句,还可以按照商品种类或地理位置对客户进行分组,进一步进行分析。 另外,还可以通过SQL语句进行数据的关联和连接,得出更全面的分析结论。例如,可以将客户的购买行为与其个人资料信息进行连接,来分析不同性别、年龄段或地区的客户消费习惯。 最后,通过SQL语句提取出的结果,可以使用可视化工具进行图表展示,如柱状图、饼图等,更直观地向决策者展示分析结果。 总之,SQL客户数据分析案例通过对数据的提取、排序、统计和关联等操作,可以帮助企业进行客户行为分析市场营销策略的制定,提高企业的竞争力和盈利能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值