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

回到顶部