You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@carbondata.apache.org by "Ravindra Pesala (JIRA)" <ji...@apache.org> on 2019/05/19 16:04:00 UTC

[jira] [Resolved] (CARBONDATA-3294) MV datamap throw error when using count(1) and case when expression

     [ https://issues.apache.org/jira/browse/CARBONDATA-3294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ravindra Pesala resolved CARBONDATA-3294.
-----------------------------------------
       Resolution: Fixed
    Fix Version/s: 1.6.0

> MV datamap throw error when using count(1) and case when expression
> -------------------------------------------------------------------
>
>                 Key: CARBONDATA-3294
>                 URL: https://issues.apache.org/jira/browse/CARBONDATA-3294
>             Project: CarbonData
>          Issue Type: Bug
>            Reporter: Chenjian Qiu
>            Priority: Blocker
>             Fix For: 1.6.0
>
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> Query SQL
>  ```
>  sql(s"""SELECT MT.`3600` AS `3600`,
>  MT.`2250410101` AS `2250410101`,
>  count(1) over() as countNum,
>  (CASE WHEN (SUM(COALESCE(seq_c, 0))) = 0 THEN NULL
>  ELSE
>  (CASE WHEN (CAST((SUM(COALESCE(seq_c, 0))) AS int)) = 0 THEN 0
>  ELSE ((CAST((SUM(COALESCE(succ_c, 0))) AS double))
>  / (CAST((SUM(COALESCE(seq_c, 0))) AS double)))
>  END) * 100
>  END) AS rate
>  FROM (
>  SELECT sum_result.*, H_REGION.`2250410101` FROM
>  (SELECT cast(floor((starttime + 28800) / 3600) * 3600 - 28800 as int) AS `3600`,
>  LAYER4ID,
>  COALESCE(SUM(seq), 0) AS seq_c,
>  COALESCE(SUM(succ), 0) AS succ_c
>  FROM data_table
>  WHERE STARTTIME >= 1549866600 AND STARTTIME < 1549899900
>  GROUP BY cast(floor((STARTTIME + 28800) / 3600) * 3600 - 28800 as int),LAYER4ID
>  )sum_result
>  LEFT JOIN
>  (SELECT l4id AS `225040101`,
>  l4name AS `2250410101`,
>  l4name AS NAME_2250410101
>  FROM region
>  GROUP BY l4id, l4name) H_REGION
>  ON sum_result.LAYER4ID = H_REGION.`225040101`
>  WHERE H_REGION.NAME_2250410101 IS NOT NULL
>  ) MT
>  GROUP BY MT.`3600`, MT.`2250410101`
>  ORDER BY `3600` ASC LIMIT 5000""".stripMargin)
>  ```
>  
> ERROR:
> mismatched input 'FROM' expecting \{<EOF>, 'WHERE', 'GROUP', 'ORDER', 'HAVING', 'LIMIT', 'LATERAL', 'WINDOW', 'UNION', 'EXCEPT', 'MINUS', 'INTERSECT', 'SORT', 'CLUSTER', 'DISTRIBUTE'}(line 2, pos 0)
> == SQL ==
> SELECT MT.`3600`, MT.`2250410101`, `countNum`, `rate` 
> FROM
> ^^^



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)