最近学的有点晕,本身就涉及group by和distinct,如何把distinct去掉,优化呢:
select num,
date,
count(distinct(id))
from test1
group by num , date另外上面这个用法,是不是和如下脚本的逻辑是一样的呢(去掉distinct)?如果一样的话就不用改了(我测试了感觉像一样的)。。
select num,
date,
count((id))
from test1
group by num , date
select num,
date,
count(distinct(id))
from test1
group by num , date另外上面这个用法,是不是和如下脚本的逻辑是一样的呢(去掉distinct)?如果一样的话就不用改了(我测试了感觉像一样的)。。
select num,
date,
count((id))
from test1
group by num , date
每组 num , date 有几行记录而count(distinct(id)) 是不一样的,是对每组group里有几个不同的id,举例,记录如下:
id num
1 1
1 2
2 3
2 3
3 3那么 select num,count(id) from a group by num返回
1 1
2 1
3 3而 select num,count(distinct(id)) from a group by num 返回
1 1
2 1
3 2
我测试10万条的数据,两条sql得出结论都一样啊
我测试10万条的数据,两条sql得出结论都一样啊看我1楼的回复,把那些数据导入你的数据库,执行看看就知道了,
不验证也敢回复说一样