所以我不知道我是否违反任何规则,但我对以前未得到答复的问题感到非常沮丧:
Group by Count of (Top 5) & Count of (All Other)
我需要的是修复以下synatx错误的一些帮助(从尝试运行下面的代码,作为解决方案提供给我):
“您的SQL语法出错;请查看与您的MySQL服务器版本对应的手册,以便在'@rank:= 0附近使用正确的语法 哪里 deskcases.Labels不喜欢'' AND deskcases.Labels不喜欢'第14行“
我最初提供解决方案的人都没有回复。我想这需要2分钟才能为那些技术熟练的人找到简单的解决方案,但是唉......接着是无线电静音。任何帮助将不胜感激! :)
谢谢!
SELECT
IF(rank = 6, "Other", sub.Labels)AS Label,
SUM(sub.CaseCount)AS ResolvedCases
FROM
(
SELECT
IF(@Rank < 6 ,@Rank := @Rank + 1, @Rank)AS Rank,
deskcases.Labels,
COUNT(deskcases.Labels)AS CaseCount
FROM
deskcases,
(SELECT @rank := 0)AS IgnoreAlias
WHERE
deskcases.Labels NOT LIKE ''
AND deskcases.Labels NOT LIKE '%SPAM%'
AND deskcases.Labels NOT LIKE '%Online Orders%'
AND deskcases.`Case Status` LIKE 'Resolved'
AND deskcases.`Created At` > CURDATE()- INTERVAL 30 DAY
GROUP BY
deskcases.Labels
ORDER BY
CaseCount DESC
)sub
GROUP BY
sub.rank ASC
答案 0 :(得分:1)
我从来没有像你一样完成过连接,但如果你只是用逗号分隔表,它应该可以工作。此外,任何子查询都应该分配一个别名,即使从未使用过......
from
deskcases,
( select @rank := 0) as IgnoreAlias
where ...
答案 1 :(得分:0)
很难猜到你的意图,但你似乎想要加入一个不合法的表达式。
查看http://dev.mysql.com/doc/refman/5.0/en/join.html(或您的MySQL版本的等效文件) - 您将看到需要加入表格或表格因素。