MYSQL从不同的表中添加行和计数

MYSQL从不同的表中添加行和计数,mysql,database,Mysql,Database,我有两个表的mysql数据库 第一(资料) 第二(用户) 我想为表“users”上的每个用户行计算并显示表“information”中的值 像这样 +---------+------+----------+ | user | id | count | +---------+------+----------+ | amy | 1 | 6 | | dav | 2 | 2 | | mot | 3 | 0

我有两个表的mysql数据库

第一(资料)

第二(用户)

我想为表“users”上的每个用户行计算并显示表“information”中的值 像这样

+---------+------+----------+
| user   |  id |  count     |
+---------+------+----------+
| amy    | 1    |        6  |
| dav    | 2    |        2  |
| mot    | 3    |        0  |
| mmm    | 4    |        0  |
| aaw    | 5    |        0  |
| dsa    | 6    |        0  |
+---------+------+----------+

我如何进行此查询?

这不是类似于:

select users.user, users.id, count (species.name)
from users left join species 
on users.id = species.user
group by users.user, users.id
order by count (species.name) desc
select u.user, u.id, count(i.user)  
from user u  
  inner join information i on i.user = u.id  
group by u.user, u.id

是不是有点像:

select u.user, u.id, count(i.user)  
from user u  
  inner join information i on i.user = u.id  
group by u.user, u.id

我的解决方案和KAJ的解决方案的区别在于,我使用“左连接”,而他使用“内部连接”。我的查询将显示没有连接宠物的人(如示例所示),而他的查询将仅显示有连接宠物的人。您知道如何通过逗号仅计算行中的每个值吗?对于exmp:我有一个值为“1,2,5,7”的nammed物种行,我想计算并显示为一个值为4的新行。首先,这应该是一个单独的问题。其次,维护逗号分隔的值是不允许的!使用不同的表,为每个值指定单独的行。试着找一本比尔·卡温写的名为《SQL反模式》的书——有一章是关于这个问题的。我的解决方案和KAJ的解决方案的区别在于,我使用“左连接”,而他使用“内部连接”。我的查询将显示没有连接宠物的人(如示例所示),而他的查询将仅显示有连接宠物的人。您知道如何通过逗号仅计算行中的每个值吗?对于exmp:我有一个值为“1,2,5,7”的nammed物种行,我想计算并显示为一个值为4的新行。首先,这应该是一个单独的问题。其次,维护逗号分隔的值是不允许的!使用不同的表,为每个值指定单独的行。试着找一本比尔·卡温写的名为《SQL反模式》的书——有一章是关于这个问题的。
select u.user, u.id, count(i.user)  
from user u  
  inner join information i on i.user = u.id  
group by u.user, u.id