读书人

关于distinct的有关问题

发布时间: 2012-02-19 19:43:38 作者: rapoo

关于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

读书人网 >Mysql

热点推荐