为什么在使用GROUP BY子句时Cassandra提供此错误

遇到错误

当我执行以下 GROUP BY 子句时:

SELECT month,title,country,director,sum(sum_taps),avg(viewing) FROM taps GROUP BY month,director;

我检索了以下错误

SyntaxException: <Error from server: code=2000 [Syntax error in CQL query] message="line 1:78 no viable alternative at input 'GROUP' (...),avg(viewing) FROM [taps] GROUP...)">

如何创建表格

通过以下方式创建表:

CREATE TABLE taps (Month text,Title text,Country text,Director text,Viewing float,sum_taps float,PRIMARY KEY (Month,Title,Country,Director));

已从具有六列的CSV文件导入数据的地方: 月份,职务,导演,国家/地区,viewing_percentage和total_viewings 。 我提供的名称与列名称不匹配,因此更易于理解。此文件与在特定月份为某些客户购买的电影有关。我们必须对观看统计信息进行分析。

表格说明

描述表输出:

CREATE TABLE assignment.taps (
    month text,title text,country text,director text,viewing float,PRIMARY KEY (month,director)
) WITH CLUSTERING ORDER BY (title ASC,country ASC,director ASC)
    AND bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL','rows_per_partition': 'NONE'}
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy','max_threshold': '32','min_threshold': '4'}
    AND compression = {'chunk_length_in_kb': '64','class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99PERCENTILE';

关于我可能做错了什么的任何想法?

预先感谢

changquan71 回答:为什么在使用GROUP BY子句时Cassandra提供此错误

我创建了上面的表格,并尝试了查询。它应该工作。您正在使用哪个版本的Cassandra?看来您可能需要使用Cassandra 3.10或更高版本。

本文链接:https://www.f2er.com/3150187.html

大家都在问