问题描述
我有一个用户表,在这个表中我有 2 列 id 和 username 以及另一个表 useraddress,它具有 id、userid(用户表中 id 的外键)和地址。如何编写 sql 查询来获取用户地址和用户 ID,以及获取每个 ID 的唯一地址的查询
我使用了查询,它给了我下面的结果,但我想要一个用户拥有的地址计数,并且还想显示对应于每个用户的唯一地址。
解决方法
尝试这样的事情
select id,username
from users
where exists (
select distinct userid,useraddress
from useraddress
where useraddress.userid = users.id
)
select id,userid,useraddress
from useraddress
where exists (
select distinct id,username
from users where users.id = useraddress.userid
)
,
-
查询以获取用户地址以及用户 ID 和用户名。
SELECT u.id,u.username,ua.address FROM users u JOIN useraddress ua ON u.id = ua.userid;
-
查询以获取每个用户 ID 的地址数。
SELECT u.id,Count(ua.address) FROM users u JOIN useraddress ua ON u.id = ua.userid GROUP BY ua.userid;
-
查询以获取每个 ID 的唯一地址。
SELECT distinct ua.address,u. id FROM useraddress ua JOIN users u on ua.userid = u. id;