我似乎得到这个错误试图运行下面的查询:SQL查询不工作
SELECT
to_char(EFFECTIVE_DT,'YYYY-MM') as YYYYMM,
--EFFECTIVE_DT,
AH01_PAYMENT_STATUS_CTD,
TSYS_ACCT_ID
FROM OIS_TSYS.AH_CYCLE_HIST
WHERE 1=1
AND EFFECTIVE_DT BETWEEN '01-MAY-2017' AND '31-MAY-2017'
GROUP BY 2
ORDER BY 1
错误:ORA-00979:不是GROUP BY表达式
我想按日期进行分组,因为目前我每天为每个个人账户获得结果。
Result set:
65589 N 03-MAY-17
65590 S 03-MAY-17
65591 M 03-MAY-17
65592 F 03-MAY-17
65617 G 03-MAY-17
任何帮助是惊人的。
最佳, 萨阿德
您的结果集与查询不符?另外,你为什么分组2?这意味着你正在按字面值2分组,这意味着所有行将在组中。这有点毫无意义\ *。特别是因为你没有任何东西可以聚合 - 不存在count/max/min函数。也许你打算区分? \ **分组依据不理解对选定列的位置参考,因为它是在考虑列列表之前计算的。* – Boneist
分组2 表示您按选择语句 –
@EstebanP的第二列进行分组。 - Oracle不允许按位分组。只有'order by'才能识别。 (您可以通过不在选择列表中的列进行分组,以便开始......但我想您也可以按顺序排列。) –