关于distinct的有关问题

关于distinct的有关问题

关于distinct的问题

有张表记录了用户的点击事件,现在我要计算多少用户点击了(重复的不算),有两个字段,一个是subscriber_id一个是list_id,只有subscriber_id和list_id都一样才能代表同一个人,请问要如何统计呢?



给出更详细的表结构




select count(distinct list_id) from tablename where list_id=subscriber_idgroup by subscriber_id




我给的是错的




select count(*) from tablename group by subscriber_id,list_id order by null




select count(*) as iddd from table_name where list_id=subscriber_id group by subscriber_id




select count(1) from table1 where list_id = subscriber_id group by list_id,subscriber_id;




select count(*) from (select * from tablename group by subscriber_id,list_id order by null)




如果要排除subscriber_id或list_id的NULL值用下面的语句:

select count(*) from (select count(*) as num from tablename where subscriber_id is not null and list_id is not null group by subscriber_id,list_id) b

如果要subscriber_id和list_id都没有NULL值可以用下面的语句:

select count(*) from (select count(*) as num from tablename group by ubscriber_id,list_id) b




select sum(cnt) from (select count(*) as cnt form tablename group by subscriber_id,list_id) tmp

关于distinct的有关问题

相关文章:

你感兴趣的文章:

标签云: