首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Where子句导致排名崩溃

Where子句导致排名崩溃
EN

Stack Overflow用户
提问于 2017-01-03 06:50:33
回答 0查看 30关注 0票数 0

我有一个具有重复记录的数据集,并且我正在执行一个等级(作为num)来进行重复数据删除。当我对它进行分组并查看复制有多糟糕时,它是很好的。但是当我运行一个查询来获取rank=1 (where rank=1)时,查询花费的时间太长并且崩溃。

有人能给我一些见解吗?

代码语言:javascript
复制
Select num, count(*)
FROM
(SELECT
 @rank :=case   
WHEN concat_ws(':', @Agent, @calltime) = concat_ws(':', Agent_Name, CallStart) 
Then @rank + 1
ELSE 1
END AS num, 
@calltime:=CallStart AS Callstart, @Agent := Agent_Name As AgentName        
FROM granular 
ORDER BY  Callstart, AgentName
) clean
Group by num;

输出:

代码语言:javascript
复制
--------------
Num | Count(*)
--------------    
   1|   302419
   2|     7259
   3|      471
   4|       43
   5|        2

获取一个只有rank=1的表,它会崩溃/耗时太长:

代码语言:javascript
复制
Select *
FROM
(SELECT
 @rank :=case   
WHEN concat_ws(':', @Agent, @calltime) = concat_ws(':', Agent_Name, CallStart) 
Then @rank + 1
ELSE 1
END AS num, 
@calltime:=CallStart AS Callstart, @Agent := Agent_Name As AgentName        
FROM granular 
ORDER BY  Callstart, AgentName
) clean
WHERE num=1;
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41434199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档