错误:您的sql语法有错误;请查看与您的mysql服务器版本对应的手册,以了解使用near'(partition by name order by counts desc)作为rank from(select name,count(case\)在第4行的正确语法
select Name, counts
from (
select Name, counts,
rank()over(partition by name order by counts desc) as rank
from (
select Name, count(Case_Id) as counts,
from CTD a
left join Agent_Table b
on a.Agent_ID = b.Agent_ID
group by Name )
group by Name )
where rank < = 2;
请参阅下面的创建表
如果不存在,则创建表 Agent_Table
( Agent_ID
整数(5), Name
varchar(20));
插入 Agent_Table
( Agent_ID
, Name
)值('1','vijay'),('2','rajesh'),('3','satish'),('4','anji');
如果不存在,则创建表 CTD
( Case_Id
整数(5), Stage
瓦尔查尔(20), Login_Time
瓦尔查尔(50), Logout_Time
瓦尔查尔(50), Agent_ID
整数(5), Status
varchar(20));
插入 CTD
( Case_Id
, Stage
, Login_Time
, Logout_Time
, Agent_ID
, Status
)值('101','maker','5/11/2019 10:20','10:30','2','success'),('102','maker','5/11/2019 10:25','10:35','1','success'),('103','maker','5/11/2019 10:40','10:50','2','success'),('101','checker','5/11/2019 10:45','11:00','3','success'),('101','approver','5/11/2019 11:15','11:30','2','success'),('102','checker','5/11/2019 10:50'、'11:00'、'1'、'reject')、('102'、'maker'、'5/11/2019 11:15'、'11:45'、'4'、'reverify')、('103'、'checker'、'5/11/2019 11:30'、'11:40'、'2'、'reject')
2条答案
按热度按时间ql3eal8s1#
您尚未提供
alias
对于子查询,这可能是您得到错误的原因。请尝试以下操作
jljoyd4f2#
你有一个不必要的逗号,缺少必要的别名。在任何情况下,窗口函数都是在
group by
因此,您可以将查询简化为