0

したがって、私が何らかの規則に違反しているかどうかはわかりませんが、以前に回答されていない私の投稿に残されていた質問にかなり不満を感じています。

カウント (トップ 5) & カウント (その他すべて) でグループ化

必要なのは、次の synatx エラーを修正するための助けだけです (以下のコードを実行しようとして、解決策として提供されます)。

「SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、'@rank := 0) WHERE deskcases.Labels NOT LIKE '' AND deskcases.Labels NOT LIKE' の近くで使用する正しい構文を確認してください。ライン 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
4

2 に答える 2

1

あなたのように結合したことはありませんが、テーブルをコンマで区切るだけでうまくいくはずです。また、使用されていない場合でも、サブクエリにはエイリアスを割り当てる必要があります...

from
   deskcases,
   ( select @rank := 0) as IgnoreAlias
where ...
于 2013-04-17T18:41:03.610 に答える