我表中的一列包含名称。我创建了一个查询:
SELECT COUNT(*) Number, (b_concat_name) Name FROM `js_b_table` GROUP by Name
产生以下内容:
Number | Name
1 | Chris Smith
4 | Fred Savage
2 | Sarah McArthur
如何更新 js_b_table 中包含该行中相应名称 (b_concat_name) 的列 b_name_count?
最佳答案
如果我没理解错的话,你希望 js_b_table
看起来像这样:
b_concat_name | b_name_count | ... other fields ...
--------------+--------------+---------------------
fred | 3 | ... other values ...
fred | 3 | ... other values ...
fred | 3 | ... other values ...
barney | 2 | ... other values ...
barney | 2 | ... other values ...
其中每条记录的b_name_count
表示具有相同b_concat_name
的记录总数。对吗?
如果是这样,你可以使用这个:
UPDATE js_b_table AS jbt1
INNER
JOIN ( SELECT jbt2.b_concat_name,
COUNT(*) AS b_name_count
FROM js_b_table AS jbt2
GROUP
BY jbt2.b_concat_name
) AS jbt3
ON jbt3.b_concat_name = jbt1.b_concat_name
SET jbt1.b_name_count = jbt3.b_name_count
;
关于php - MySQL - 计算数据库中名称实例的不同数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8234089/