Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有多维数据集错误的SQL查询_Sql_Database_Group By_Hive_Sum - Fatal编程技术网

带有多维数据集错误的SQL查询

带有多维数据集错误的SQL查询,sql,database,group-by,hive,sum,Sql,Database,Group By,Hive,Sum,例如,我有一张订单表 订单{o_orderkey,o_custkey,o_orderstatus,o_totalprice,o_orderdate,o_orderpriority,o_clerk…诸如此类…} 我试过了 SELECT o_orderkey, o_orderdate, sum(o_totalprice) FROM orders GROUP BY CUBE (o_orderkey, o_orderdate) ORDER BY o_orderkey, o_orderdate; 但它给

例如,我有一张订单表

订单{o_orderkey,o_custkey,o_orderstatus,o_totalprice,o_orderdate,o_orderpriority,o_clerk…诸如此类…}

我试过了

SELECT o_orderkey, o_orderdate, sum(o_totalprice)
FROM orders
GROUP BY CUBE (o_orderkey, o_orderdate)
ORDER BY o_orderkey, o_orderdate;
但它给了我一个错误:

错误:编译语句时出错:失败:ParseException行4:5无法识别“多维数据集”(表达式规范中的“o_orderkey”(状态=42000,代码=40000)附近的输入


所以我找到了问题的答案,现在我有了第二张桌子

行项{l_orderkey,l_suppkey和…等等…}

第一个表通过orderkey字段链接到此行项目表

所以我想找到这两个职员(o_职员)订购的零件总数

o#u clerk='clerk'000000522'或o#u clerk='clerk'000000154'per

订单日期(o_orderdate),每个suppkey(l_suppkey)

这是我的工作,但我不确定是否正确:

SELECT o_clerk, o_orderdate, l.l_suppkey, sum(l.l_quantity) as TotalParts
FROM orders as o, lineitem as l
WHERE o.o_orderkey = l.l_orderkey
AND o.o_clerk='Clerk#000000522' OR o.o_clerk='Clerk#000000154'
GROUP BY o_clerk, o_orderdate, l.l_suppkey WITH CUBE
ORDER BY o_orderdate, l.l_suppkey;

在Hive中,您可以将其表述为:

SELECT o_orderkey, o_orderdate, sum(o_totalprice)
FROM orders
GROUP BY o_orderkey, o_orderdate CUBE
ORDER BY o_orderkey, o_orderdate;

在Hive中,您可以将其表述为:

SELECT o_orderkey, o_orderdate, sum(o_totalprice)
FROM orders
GROUP BY o_orderkey, o_orderdate CUBE
ORDER BY o_orderkey, o_orderdate;

是的,我意识到我必须按o_orderkey、o_orderdate和多维数据集进行分组;是的,我意识到我必须按o_orderkey、o_orderdate和多维数据集进行分组;