2 baidu 28843887 baidu_28843887 于 2015.06.26 14:15 提问

Mysql数据库如何实现多列组合去重复,然后统计个数?

在mysql数据库中有一表table,根据两列 ip,cookie。通过这两列去除重复记录后统计个数
ip-------cookie
1.1.1.1-----123456
1.1.1.1-----123478
1.1.1.1-----123654
1.1.1.1-----123456
查询后得出
ip-------cookie
1.1.1.1-----123456
1.1.1.1-----123478
1.1.1.1-----123654

统计数:3

1个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.26 14:18
已采纳
 select distinct ip,cookie from table
 select count(distinct ip,cookie) from table
baidu_28843887
baidu_28843887 回复danielinbiti: 谢谢您了,其实上次就是您帮我解答的。太感谢了。
2 年多之前 回复
baidu_28843887
baidu_28843887 回复danielinbiti: 我如果把有空值的那一列去掉之后,distinct 后面只有一列的话sql语句可以统计出来有1条记录。
2 年多之前 回复
danielinbiti
danielinbiti 回复baidu_28843887: 会,select count(distinct ifnull(ip,""),ifnull(cookie,"")) from table
2 年多之前 回复
baidu_28843887
baidu_28843887 如果我有一列是空的是不是会对结果有影响呢?有的话如何解决?
2 年多之前 回复
danielinbiti
danielinbiti 回复baidu_28843887: 如果没报错且条件都一样,那应该结果是一样的。
2 年多之前 回复
danielinbiti
danielinbiti 回复baidu_28843887: 不应该呀。
2 年多之前 回复
baidu_28843887
baidu_28843887 我用了这种,这个select distinct ip,cookie from table能查出一条记录,下面的count统计的确实0条记录,这是什么原因呢?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片