mysql 统计数量的问题
这是结构与数据,我想实现数据是根据from_user_id去重后,再根据from_user_id去查询这个表一个from_user_id对应多少个user_id(也得去重)
通过程序循环是可以实现的,但是通过sql语法如何实现呢?
回答:
提个思路
select count(distinct user_id) from tbl group by from_user_id
回答:
这种关系表必须有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
回答:
使用 group by 做去重,并且需要多次去重
以上是 mysql 统计数量的问题 的全部内容, 来源链接: utcz.com/p/944087.html