mysql实现对商品进行分类,并根据排名占比打标签
偶然看到有人问了一个数据库的题目,看了下,我也不会,于是自己就动手建了个表试起来,题目如下:
思路
1、对产品进行分类,并实现小类别内的价格排序,拿到排序的序号
2、知道每个产品小类的总数
3、根据步骤1的序号和总数,计算这个商品在本类别里的排名占比
4、使用case when判断属于的档位
理清了思路后,开始动手操作
1. 先建个表
CREATE TABLE `test_goods` (
`goods_type` varchar(128) NOT NULL,
`goods_name` varchar(128) NOT NULL,
`price` int(10) NOT NULL,
`goods_tag` varchar(128) DEFAULT NULL,
PRIMARY KEY (`goods_type`,`goods_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2. 插进去几条数据
INSERT INTO `test_goods` VALUES ('手机', '华为mate', 2999, NULL);
INSERT INTO `test_goods` VALUES ('手机', '苹果iPhoneX', 7999, NULL);
INSERT INTO `test_goods` VALUES ('手机', '荣耀V10', 2399, NULL);
INSERT INTO `test_goods` VALUES ('水果&