这是结构与数据,我想实现数据是根据from_user_id去重后,再根据from_user_id去查询这个表一个from_user_id对应多少个user_id(也得去重)
通过程序循环是可以实现的,但是通过sql语法如何实现呢?
这是结构与数据,我想实现数据是根据from_user_id去重后,再根据from_user_id去查询这个表一个from_user_id对应多少个user_id(也得去重)
通过程序循环是可以实现的,但是通过sql语法如何实现呢?
这种关系表必须有user_id和form_user_id的组合唯一键约束的,这样就直接避免了去重问题。
select
(select count(*) from t as b where b.from_user_id = a.from_user_id) as countNumber
from t as a group by a.from_user_id
如果你之前没做唯一性约束,可以用以下方式检查
select count(*), * from t group by (user_id, from_user_id) having count(*) > 1
select user_id,count(user_id) from table where user_id in (select distinct from_user_id from AAA) group by user_id
8 回答6.5k 阅读
3 回答3.8k 阅读✓ 已解决
2 回答2.4k 阅读✓ 已解决
2 回答3.3k 阅读
1 回答2.5k 阅读✓ 已解决
5 回答1.5k 阅读
3 回答1.8k 阅读✓ 已解决
提个思路
select count(distinct user_id) from tbl group by from_user_id