Mysql 从不同的表中选择“带值计数”

Mysql 从不同的表中选择“带值计数”,mysql,Mysql,我想统计一个表中按用户id分组的所有条目 这是我使用的查询,效果很好 select uuid_mapping_id, count(*) from t_message group by uuid_mapping_id; 结果如下: +-----------------+----------+ | uuid_mapping_id | count(*) | +-----------------+----------+ | 1 | 65 | |

我想统计一个表中按用户id分组的所有条目

这是我使用的查询,效果很好

select uuid_mapping_id, count(*) from t_message group by uuid_mapping_id;
结果如下:

+-----------------+----------+
| uuid_mapping_id | count(*) |
+-----------------+----------+
|               1 |       65 |
|               4 |      277 |
现在我想显示实际的用户名,而不是ID。 要做到这一点,我需要两个不同的表格的帮助

表t_uuid_映射有两列:

uid\u mapping\u id,它等于另一个表中的uuid\u mapping\u id

f_uuid也是独一无二的,但完全不同

f_uuid也可以在另一个表t_abook中找到,该表也包含f_name列中的名称

我想要的结果应该是:

+-----------------+----------+
| f_name          | count(*) |
+-----------------+----------+
|           admin |       65 |
|           user1 |      277 |

我对数据库主题还不熟悉,我知道这可以通过在查询中使用JOIN来实现,但老实说,我还没有完全理解这一点。

如果我理解正确:

SELECT tm.f_name, COUNT(*) as count 
FROM t_message tm
LEFT JOIN t_abook ta ON (tm.uuid_mapping_id = ta.uid_mapping_id)
GROUP BY tm.f_name

了解如何连接两个mysql表的可能重复。你要找的答案都在这里了。我已经改进了你的语法。