MySQL 对跨多个表加入的注册用户进行计数

标签 mysql

创建此报告需要 3 个表。两个是包含数据的表格,第三个表格是前面步骤中用于收集报告数据的表格。

表 1. 用户。

us_usid (int)
us_user (varchar) default empty string

表 2. 用户组

ug_usid (int) = users.us_usid
ug_group (varchar 6) = group id

表 3. 报告

re_group (varchar 6) = usergroups.ug_group
re_registered_count (int) = count of users with username

必须简化架构,但显示涉及的列。报告表中有大约 500 个组 ID。我需要计算 us_user <> '' 和 us_usid 位于报告表中按 ug_group ID 分组的 ug_usid 中​​的用户。

例如,报告表的组 ID 为“533103”。 UserGroups 表有 545 个拥有该 ug_group 的用户。这些 ug_usids 对应于 users 表中的 545 个用户,其中 373 个用户具有 us_user 字符串的值。我需要将“373”号码放入报告表中。

如果弄清楚如何提取所有其他必要的数据,但找不到一种有效的(且有效的方式 - 这些是拥有 1000 到 100000 名成员的团体)方法来一次性找出有多少人注册。

最佳答案

每个用户组的用户计数,其中 us_user 中有一个值

select ug.us_user, count(u.us_usid)
from UserGroups ug
inner join Usersu on ug.ug_usid = u.us_usid
where u.us_user IS NOT NULL

关于MySQL 对跨多个表加入的注册用户进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47293223/

相关文章:

mysql - 仅从一张表中获取最大值

php - 在 php/asp.net 应用程序中保存/加载 img/文件(word、excel 等)的最佳方法是什么?

php - 如何使用绑定(bind)变量来启动 mySql 表的列?

如果为空,MySQL 从不同的表中检索

mysql - 使用两个左连接mysql时出现重复值

php - 无法将复选框值发送到 MySQL 数据库?

mysql - MySQL 中 int 括号中的属性的用途是什么?

mysql - 无法将查询结果插入到 phpMyAdmin 中的 SQL 查询中

mysql - SQL - 仅获取当年的结果

php - 将 MySQL 查询结果合并为一条记录