Mysql更新记录数
我有一个“产品记录”表,如下所示: 目前,所有记录的_报告的_列中的值为0 为匹配产品组、产品子组和类型,为每行添加计数报告的最有效方法是什么 例如:Mysql更新记录数,mysql,Mysql,我有一个“产品记录”表,如下所示: 目前,所有记录的_报告的_列中的值为0 为匹配产品组、产品子组和类型,为每行添加计数报告的最有效方法是什么 例如: 1, 23, 1, 1, count here (i.e. 2); 2, 23, 2, 1, count here (i.e. 1); 3, 23, 1, 1, count here (i.e. 2); 4, 24, 1, 3, count here (i.e. 1); 提前感谢。您可以使用下面的更新声明- UPDATE product_r
1, 23, 1, 1, count here (i.e. 2);
2, 23, 2, 1, count here (i.e. 1);
3, 23, 1, 1, count here (i.e. 2);
4, 24, 1, 3, count here (i.e. 1);
提前感谢。您可以使用下面的更新声明-
UPDATE product_records PR
JOIN (SELECT CONCAT(product_group, product_subgroup) ID, COUNT(DISTINCT CONCAT(product_group, product_subgroup)) NUM
FROM product_records
GROUP BY CONCAT(product_group, product_subgroup)) PR2
ON CONCAT(PR.product_group, PR.product_subgroup) = PR2.ID
SET PR.count_of_reports = PR2.NUM
您可以使用以下更新语句-
UPDATE product_records PR
JOIN (SELECT CONCAT(product_group, product_subgroup) ID, COUNT(DISTINCT CONCAT(product_group, product_subgroup)) NUM
FROM product_records
GROUP BY CONCAT(product_group, product_subgroup)) PR2
ON CONCAT(PR.product_group, PR.product_subgroup) = PR2.ID
SET PR.count_of_reports = PR2.NUM
将包含
JOIN
的UPDATE
语句与计算每个组计数的子查询一起使用。它是否有效将取决于您是否为用于分组的列编制索引。将包含JOIN
的UPDATE
语句与计算每个组计数的子查询一起使用。是否它的效率将取决于您是否为用于分组的列编制索引。