Mysql 对子查询中的多个值重复主查询
我的桌子是空的Mysql 对子查询中的多个值重复主查询,mysql,Mysql,我的桌子是空的 login_table { varchar: User_id//primary key //other stuff } token_table { varchar token_table;//primary key varchar user_id } token_messages {varchar: Mes_id varchar: token_id; } 现在,我想获得某个用户下每个令
login_table
{
varchar: User_id//primary key
//other stuff
}
token_table
{
varchar token_table;//primary key
varchar user_id
}
token_messages
{varchar: Mes_id
varchar: token_id;
}
现在,我想获得某个用户下每个令牌的消息计数;
比如:
这里1 5 6 7是say user的标记:deepu试试这个:
SELECT tm.token_id, COUNT(t.user_id) `Mes_count`
FROM token_messages tm
INNER JOIN token_table t ON tm.token_id = t.token_id
INNER JOIN login_table l ON t.user_id = l.user_id
WHERE l.user_name = 'deepu'
GROUP BY tm.token_id
select tm.token_id,count(*) as msg_cnt from
token_messages tm inner join token_table t
on tm.token_id=t.token_id and t.user_id in(select user_id from login_table where user_name = 'deepu')
group by tm.token_id
试试这个:
SELECT tm.token_id, COUNT(t.user_id) `Mes_count`
FROM token_messages tm
INNER JOIN token_table t ON tm.token_id = t.token_id
INNER JOIN login_table l ON t.user_id = l.user_id
WHERE l.user_name = 'deepu'
GROUP BY tm.token_id
select tm.token_id,count(*) as msg_cnt from
token_messages tm inner join token_table t
on tm.token_id=t.token_id and t.user_id in(select user_id from login_table where user_name = 'deepu')
group by tm.token_id
为什么表中的主键是
VARCHAR
,而它们都是id
,非常感谢它为我工作!我从没想到会有这么快的反应。再次感谢!