统计各品类最畅销的商品

统计各品类最畅销的商品

问题:
统计各品类售出商品的种类数和销量最好的商品

1- 数据准备
表1: t_order_detail (订单明细表)
	id(订单明细id), order_id(订单id), sku_id(商品id), create_date(订单创建日期), price(商品单价), quantity(商品数量)

表2: t_sku_info (商品信息表)
	sku_id(商品id), goods_name(商品名称), category_id(品类id), price(商品单价), del_flag(删除状态; 0:正常;1:删除)

表3; t_category_info (品类信息表)
	category_id(品类id), category_name(品类名称)
-- 数据准备
WITH t_order_detail AS (
SELECT * FROM (
  VALUES 
      (1002, 1101, 1203, '2023-01-01', 1100, 3)
    , (1012, 1101, 1211, '2023-01-03', 1200, 2)
    , (1016, 1102, 1205, '2023-01-02', 2000, 1)
    , (1015, 1103, 1204, '2023-01-04', 1500, 3)
    , (1018, 1103, 1206, '2023-01-05', 1700, 5)
    , (1022, 1104, 1207, '2023-01-12', 1100, 6)
    , (1025, 1105, 1202, '2023-01-25', 1200, 3)
    , (1035, 1106, 1203, '2023-01-13', 1100, 2)
    , (1023, 1107, 1204, '2023-02-02', 1500, 3)
    , (1036, 1108, 1202, '2023-02-04', 1200, 1)
    , (1041, 1109, 1211, '2023-02-03', 1200, 2)
    , (1052, 1110, 1204, '2023-02-01', 1500, 3)
    , (1058, 1111, 1206, '2023-02-05', 1700, 4)
    , (1043, 1112, 1205, '2023-02-06', 2000, 2)
    , (1066, 1113, 1203, '2023-02-11', 1100, 5)
    , (1061, 1114, 1204, '2023-02-16', 1500, 4)
) AS table_name(id, order_id, sku_id, create_date, price, quantity)
)

, t_sku_info AS (
SELECT * FROM (
  VALUES 
      (1203, '小米', 6 , 1100, 0)
    , (1211, '苹果', 6 , 1200, 0)
    , (1205, 'OPPO', 6 , 2000, 0)
    , (1204, '热水器', 3 , 1500, 0)
    , (1206, '吹风机', 3 , 1700, 0)
    , (1207, '跑步机', 7 , 1100, 0)
    , (1202, '划船机', 7 , 1200, 0)
    , (1209, '椭圆机', 7 , 1800, 1)
) AS table_name(sku_id, goods_name, category_id, price, del_flag)
)

, t_category_info AS (
SELECT * FROM (
  VALUES 
      (6 , '数码产品')
    , (3 , '家用电器')
    , (7 , '运动器材')
) AS table_name(category_id, category_name)
)
2- 代码实现
-- 1. 统计每种品类在售的商品数量 -> t1
SELECT 
      a.category_id, b.category_name
    , COUNT(DISTINCT a.sku_id) AS sku_ct
FROM t_sku_info a 
LEFT JOIN t_category_info b 
ON a.category_id = b.category_id
WHERE a.del_flag = 0
GROUP BY a.category_id, b.category_name
;
category_idcategory_namesku_ct
3家用电器2
6数码产品3
7运动器材2
SELECT -- 统计每种商品的销量
      b.category_id, a.sku_id, b.goods_name
    , SUM(quantity) AS order_sum
FROM t_order_detail a 
LEFT JOIN t_sku_info b  
ON a.sku_id = b.sku_id
WHERE b.del_flag = 0
GROUP BY a.sku_id, b.goods_name, b.category_id
;
category_idsku_idgoods_nameorder_sum
71202划船机4
61203小米10
31204热水器13
61205OPPO3
31206吹风机9
71207跑步机6
61211苹果4
-- 2. 统计每个品类中 最畅销的产品, 销量最高的产品  -> t2
SELECT 
    category_id, sku_id, goods_name, order_sum
FROM (
SELECT 
      category_id, sku_id, goods_name, order_sum
    , RANK() OVER(PARTITION BY category_id ORDER BY order_sum DESC) AS rk  -- 每种品类中, 销量降序排列
FROM (
SELECT -- 统计每种商品的销量
      b.category_id, a.sku_id, b.goods_name
    , SUM(quantity) AS order_sum
FROM t_order_detail a 
LEFT JOIN t_sku_info b  
ON a.sku_id = b.sku_id
WHERE b.del_flag = 0
GROUP BY a.sku_id, b.goods_name, b.category_id
) c
) d
WHERE rk = 1
;
category_idsku_idgoods_nameorder_sumrk
31204热水器131
31206吹风机92
61203小米101
61211苹果42
61205OPPO33
71207跑步机61
71202划船机42
category_idsku_idgoods_nameorder_sum
31204热水器13
61203小米10
71207跑步机6
-- 3. 合并t1,t2 数据
SELECT 
      a.category_id, b.category_name, b.sku_ct, a.sku_id, a.goods_name, a.order_sum
FROM t2 a
LEFT JOIN t1 b  
ON a.category_id = b.category_id
;
category_idcategory_namesku_ctsku_idgoods_nameorder_sum
3家用电器21204热水器13
6数码产品31203小米10
7运动器材21207跑步机6

end

# 生鲜集市小程序商城开发模板 ## 一、项目概述 “生鲜集市”小程序商城旨在为用户提供便捷的生鲜采购平台,涵盖丰富的生鲜品类,确保新鲜、优质的商品供应。通过简洁易用的界面设计和高效的购物流程,提升用户购物体验,同时为商家提供全面的订单管理和数据分析功能,助力业务增长。 ## 二、功能模块 ### (一)用户端 1. **商品展示**:以图文形式展示各类生鲜商品,包括水果、蔬菜、肉类、海鲜等,按分类浏览,支持搜索功能,方便用户查找所需商品。提供商品详情页,展示商品规格、产地、保质期、营养成分等信息。 2. **购物车**:用户可将心仪商品加入购物车,在购物车中调整商品数量、选择商品进行结算,支持批量删除商品。显示购物车商品总价,结算时自动计算运费(若有)。 3. **订单管理**:用户可查看所有订单,包括待付款、待发货、运输中、已完成、已取消等状态。对未付款订单进行支付操作,对已发货订单查看物流信息,对已完成订单进行评价。 4. **个人中心**:展示用户基本信息,如头像、昵称、手机号,支持修改个人信息。显示用户积分、优惠券、收藏的商品和店铺。提供收货地址管理功能,包括添加、修改、删除地址,设置默认收货地址。支持账户安全设置,如修改密码、绑定第三方账号。 ### (二)商家端 1. **商品管理**:添加、编辑、删除商品信息,包括商品名称、价格、库存、图片、详情描述等。设置商品分类、标签,便于用户筛选。实时查看商品销量、库存预警,及时补货或调整商品策略。 2. **订单管理**:查看所有订单详情,包括订单编号、下单时间、用户信息、商品信息、订单状态等。对订单进行发货操作,填写物流单号;处理售后订单,如退款、换货申请。 3. **数据统计**:分析商品销售数据,如销量、销售额、订单量等,按日、周、月查看趋势图表。查看用户行为数据,如访问量、浏览量、购买转化率,优化商品展示和营销策略。 ### (三)后台管理 1. **用户管理**:查看所有用户信息,包括基本信息、账户状态、消费记录等。对违规用户进行封禁、限制操作,保障平台秩序。 2. **商品管理**:审核商家提交的商品信息,确保商品合规、质量达标。对商品进行上下架管理,维护平台商品展示。 3. **订单管理**:监控平台所有订单,处理异常订单,如支付异常、物流异常等。统计订单数据,为运营决策提供支持。 4. **数据统计分析**:综合分析平台数据,包括用户增长、商品销售、订单趋势等,生成报表和图表。通过数据挖掘,发现潜在业务机会,优化平台运营策略。 ## 三、页面设计 ### (一)首页 1. **顶部导航栏**:展示小程序名称、搜索框、用户头像(点击可进入个人中心)。 2. **轮播图**:展示热门商品、促销活动等,吸引用户注意力。 3. **商品分类导航**:以图标和文字形式展示各类生鲜商品分类,方便用户快速进入相应分类页面。 4. **热门商品推荐**:展示热门、畅销的生鲜商品,包括商品图片、名称、价格、销量等信息,吸引用户购买。 5. **底部导航栏**:包含“首页”“购物车”“订单”“我的”四个功能模块入口。 ### (二)商品分类页 1. **分类列表**:以列表形式展示所有商品分类,每个分类展示分类名称、图标和分类下商品数量。 2. **商品列表**:进入具体分类后,展示该分类下的商品列表,包括商品图片、名称、价格、销量等信息,支持按销量、价格等排序。 ### (三)商品详情页 1. **商品图片轮播**:展示商品多角度高清图片,让用户全面了解商品外观。 2. **商品基本信息**:显示商品名称、价格、规格、产地、保质期等信息。 3. **商品详情描述**:详细介绍商品的特点、营养价值、食用方法等。 4. **用户评价**:展示其他用户对该商品的评价和评分,帮助用户了解商品口碑。 5. **购买按钮**:包括“加入购物车”“立即购买”按钮,方便用户操作。 ### (四)购物车页 1. **购物车列表**:展示购物车中所有商品,包括商品图片、名称、规格、数量、单价、总价等信息。 2. **商品操作按钮**:支持对商品进行数量增减、删除操作。 3. **全选/反选按钮**:方便用户快速选择或取消选择购物车中的所有商品。 4. **结算按钮**:显示购物车商品总价,点击可进入结算页面。 ### (五)订单页 1. **订单列表**:按订单状态展示所有订单,包括订单编号、下单时间、订单金额、订单状态等信息。 2. **订单详情按钮**:点击可查看订单详细信息,包括商品信息、收货地址、支付方式等。 ### (六)个人中心页 1. **个人信息展示区**:展示用户头像、昵称、手机号,提供“编辑资料”按钮。 2. **功能模块入口**:包括“我的订单”“我的
最新发布
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值