我通过以下查询得到ORA-00979:
SELECT
DISTINCT ((colA || SUBSTR(colB, 1, 2))) AS colA
FROM myTable
WHERE colC='5678'
GROUP BY colA
我有一个名为myTable的表,它有三列(colA、colB和colC(
我希望在我的选择结果中包含:列colA值和列colB的前两个值的串联。此外,我想根据我的结果进行分组。但是,我收到的是ORA-00979,而不是一组表达式错误
如何解决此问题?
您可以重复GROUP BY
子句中的整个表达式,因为它出现在SELECT
:中
SELECT DISTINCT colA || SUBSTR(colB, 1, 2) AS colA
FROM myTable
WHERE colC = '5678'
GROUP BY colA || SUBSTR(colB, 1, 2);
Oracle不支持使用别名或使用1
、2
等位置参数进行分组。请注意,DISTINCT
不是SQL函数。