Serhiy Bilousov created PHOENIX-1750:
----------------------------------------

             Summary: Some build-in functions used in expression surface 
internal implementation as column alias what cause GROUP BY to fail
                 Key: PHOENIX-1750
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1750
             Project: Phoenix
          Issue Type: Bug
            Reporter: Serhiy Bilousov


Consider query

{noformat}
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (ts TIMESTAMP not null primary key);
UPSERT INTO t1 VALUES(to_date('2015-03-17 03:05:45.000'));
UPSERT INTO t1 VALUES(to_date('2015-03-18 03:05:45.000'));
UPSERT INTO t1 VALUES(to_date('2015-03-18 03:15:45.000'));
UPSERT INTO t1 VALUES(to_date('2015-03-16 04:05:45.000'));
UPSERT INTO t1 VALUES(to_date('2015-03-18 05:25:45.000'));
UPSERT INTO t1 VALUES(to_date('2015-03-18 05:35:45.000'));

SELECT * FROM t1;
+------------------------+
|           TS           |
+------------------------+
| 2015-03-16 04:05:45.0  |
| 2015-03-17 03:05:45.0  |
| 2015-03-18 03:05:45.0  |
| 2015-03-18 03:15:45.0  |
| 2015-03-18 05:25:45.0  |
| 2015-03-18 05:35:45.0  |
+------------------------+

select cast(trunc(ts,'HOUR') AS TIMESTAMP), count(*) from t1 group by 
cast(trunc(ts,'HOUR') AS TIMESTAMP);
Error: ERROR 1018 (42Y27): Aggregate may not contain columns not in GROUP BY. 
TO_TIMESTAMP(FLOOR(TO_DATE(TS))) (state=42Y27,code=1018)

 select cast(trunc(ts,'HOUR') AS TIMESTAMP) AS dt, count(*) AS cnt from t1 
group by cast(trunc(ts,'HOUR') AS TIMESTAMP);
Error: ERROR 1018 (42Y27): Aggregate may not contain columns not in GROUP BY. 
TO_TIMESTAMP(FLOOR(TO_DATE(TS))) (state=42Y27,code=1018)

select cast(trunc(ts,'HOUR') AS TIMESTAMP) AS dt, count(*) AS cnt from t1 group 
by dt;
Error: ERROR 1018 (42Y27): Aggregate may not contain columns not in GROUP BY. 
TO_TIMESTAMP(FLOOR(TO_DATE(TS))) (state=42Y27,code=1018)
{noformat}

but than by accident I run
{noformat}
 select cast(trunc(ts,'HOUR') AS TIMESTAMP) AS dt, count(*) AS cnt from t1 
group by trunc(ts,'HOUR');
+------------------------+------+
|           DT           | CNT  |
+------------------------+------+
| 2015-03-16 04:00:00.0  | 1    |
| 2015-03-17 03:00:00.0  | 1    |
| 2015-03-18 03:00:00.0  | 2    |
| 2015-03-18 05:00:00.0  | 2    |
+------------------------+------+
{noformat}

So I am not sure how to properly phrase it but still decided to create JIRA 
since there is definitely something going on there :)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to