mysql - 从一个表中加入计数以从另一个表中选择 - mysql

标签 mysql join

我在表 a 上有一个带有子查询的选择查询:

select UserName, Name, anniversaryDate, RegionCode 
from a where UserName in
(
    select Username from
    (
        select Username, max(timeUsed)
        from log_table where role='Cou'
        group by Username order by max(timeUsed) desc limit 10
    ) a
)

工作正常,现在我有另一个表叫 b, 在那张 table 上我只有 3 列:

用户名、PName 和反馈

每个用户名都有多次,我想将我从第一个查询中获得的每个用户名的计数加入到我的第一个查询中。

例如:

SELECT COUNT(UserName) FROM b where UserName='Admin' group by UserName

如何将第二个查询的结果连接到第一个查询?

表格:

日志表:
id - Int, AI, PK
用户名 - varchar
Action - 整数
timeUsed - 日期时间
角色 - varchat

一个:
用户名 - varchar,PK
名称 - varchar
anniversaryDate - 日期时间
区域代码 - 整数

乙:
用户名 - varchar
PName - varchar
反馈-varchar

最佳答案

根据您的表结构,下面的查询可能会添加您要查找的必要列:

    select users.UserName, Name, anniversaryDate, RegionCode, 
        Coalesce(count(b.UserName),0) as cnt 
    from users 
        left outer join (select Username, max(timeUsed)
            from log_table where role='Cou'
            group by Username order by max(timeUsed) desc limit 10
        ) a using (UserName)
        left outer join fedbacks b on (a.UserName = b.userName)
        group by users.UserName;

关于mysql - 从一个表中加入计数以从另一个表中选择 - mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23321867/

相关文章:

php - 显示来自多个不同表的多个数据

mysql - 使用 SQL 和日期进行操作

mysql - 如何通过按类型或 ID 区分该列,将一列值显示到多列中

mysql - MariaDB 显示列权限

python - Have 子句中的 SQLAlchemy 引用标签

Mysql:哪个披萨更喜欢客户端

mysql - 同一列不同行的 WHERE AND 子句

MySQL 在连接表上返回 Null = 0,并在一个表上进行过滤

postgresql - 使用 LIMIT 在 JOINED 表中获取 NULL 值

bash - 如何使用 shell 脚本外部连接两个 CSV 文件?