我在表 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/