Magento 2查找订单销量MySQL字段值序列化解决办法

有时候在Magento 2中进行数据库查询最近一个月的销量的时候,我们需要的是安装sku的下拉选项进行查找,既是看看今年那个产品卖得最好,销售的最好。那么我们如何做呢?

首先我们要打开Magento 2的数据库找到表sales_order_item,这里面有sku,item,product_options,name等等其他的一些数据。

我们首先使用下面的sql语句查询当年的销量情况,例如要查询的是skuWJ06-的这个产品,前段页面显示的下拉选项在product_options字段里面的option_value 的值,记住这个是序列化存储在数据库中的。所以我们要得出这个值,需要提取到这个option_value的值。

例如我们通过下面的语句可以查看:

输出如下:

上图我们只截取了部分数据,那么这只是销量skuWJ06的产品,那么下拉框选项还是没有找到。别急这个选项在product_options,我们看看上图方框框的那个完整的数据,如下所示:

通过上面我们可以看到option_value的值为50,那么50对应的下拉数据是什么呢,这就要另一个表catalog_product_option_type_title 其中50的值为catalog_product_option_type_titleoption_type_id 值所相等。那么这个行的titie 字段既是这个下拉选项。

获取得到option_value

我们要使用mysql的SUBSTRING_INDEX

得到的结果:

下面我们和关联表catalog_product_option_type_title如下:

执行后完美解决,数据库字段序列化。

如果有不懂的地方请留言,SKY8G网站编辑者专注于研究IT源代码研究与开发。希望你下次光临,你的认可和留言是对我们最大的支持,谢谢!

上一篇: mysqldump备份数据时网站访问过慢[甚至无法访问]解决办法

下一篇: MySQL LEFT JOIN是什么?

登录 评论
avatar