Sql 是否可以根据配置单元中的常量列进行分组?

Sql 是否可以根据配置单元中的常量列进行分组?,sql,hive,hiveql,Sql,Hive,Hiveql,我正在对标准非聚合表列key1和key2运行一个配置单元查询,如下所示。但我将根据where条件向每个被union-ed的表添加一个常量类型列 CREATE TABLE IF NOT EXISTS T_FINAL AS SELECT DISTINCT union_tbles.key1 AS key1, union_tbles.key2 AS key2, union_tbles.cnt AS cnt, union_tbles.type AS type FROM ( SELECT key1 AS k

我正在对标准非聚合表列key1和key2运行一个配置单元查询,如下所示。但我将根据where条件向每个被union-ed的表添加一个常量类型列

CREATE TABLE IF NOT EXISTS T_FINAL AS SELECT DISTINCT union_tbles.key1 AS key1, union_tbles.key2 AS key2, union_tbles.cnt AS cnt, union_tbles.type AS type FROM (
SELECT key1 AS key1, key2 AS key2, COUNT(val) AS cnt, 'x1' AS type FROM T_SUB1 WHERE key1 IN ('X1') GROUP BY key1, key2
UNION ALL
SELECT key1 AS key1, key2 AS key2, COUNT(val) AS cnt, 'x2' AS type FROM T_SUB1 WHERE key1 IN ('X2') GROUP BY key1, key2
) union_tbles
是否可以按以下列分组添加常量列类型asa? 当我试图在group by中添加常量列类型时,配置单元中出现无效列别名错误。有没有关于如何在蜂箱里做的建议

CREATE TABLE IF NOT EXISTS T_FINAL AS SELECT DISTINCT union_tbles.key1 AS key1, union_tbles.key2 AS key2, union_tbles.cnt AS cnt, union_tbles.type AS type FROM (
SELECT key1 AS key1, key2 AS key2, COUNT(val) AS cnt, 'x1' AS type FROM T_SUB1 WHERE key1 IN ('X1') GROUP BY key1, key2, type
UNION ALL
SELECT key1 AS key1, key2 AS key2, COUNT(val) AS cnt, 'x2' AS type FROM T_SUB1 WHERE key1 IN ('X2') GROUP BY key1, key2, type
) union_tbles

配置单元无法识别GROUP BY子句中的别名。
无论如何,绝对不需要按常量分组。
常量不必在GROUP BY子句中才能被选中

with t as (select 1 as x)
select    x
         ,count(*)
         ,1+1
         ,'Hello'
         ,current_date()
from      t
group by  x


“SELECT DISTINCT”?为什么“UNION ALL”放在首位?我正在运行一系列UNION的联接。我以两种方式运行它-选择DISTINCT(…UNION ALL…UNION ALL…等)和选择FROM(…UNION DISTINCT…UNION DISTINCT)。第一种方式是15个工作岗位,第二种方式是25个。仅仅增加工会就显著增加了就业机会。每个作业都使用9068个绘图器和1009个还原器。因此,所花费的时间过高。所以我想减少工作的数量。但是你不需要使用
独特的
(groupby之后不能有重复项)也不需要
联合所有的
。可以使用单个
选择
来编写。你正试图从基础上调整写得不好的内容<代码>选择不同于
?是不是少了一些栏目?
+---+-----+-----+-------+------------+
| x | _c1 | _c2 |  _c3  |    _c4     |
+---+-----+-----+-------+------------+
| 1 |   1 |   2 | Hello | 2017-04-17 |
+---+-----+-----+-------+------------+