ORA-00979: NOT A GROUP BY Expression 在 Oracle 中处理日期
ORA-00979: NOT A GROUP BY Expression Working with Dates in Oracle
我有一个名为 sDateTime 的日期数据类型列,我希望按日期分组选择数据,实际上我想显示特定月份每一天的销售额。
sDateTime 是 Date 数据类型,但它也存储时间,因此我需要将其转换为日期格式。我正在使用以下抛出异常的查询 ORA-00979 请任何人帮助我。
SELECT sdatetime AS Sale_Date,
SUM(amount) AS Sale
FROM sales
GROUP BY To_char(sdatetime, 'yyyy-MM-dd')
HAVING sdatetime BETWEEN To_date('2015-01-01', 'yyyy-MM-dd') AND
To_date('2015-01-09', 'yyyy-MM-dd')
像这样重写查询
select to_char(sDateTime,'yyyy-MM-dd') AS Sale_Date, SUM(Amount) AS Sale
FROM SALES where sDateTime between to_date('2015-01-01','yyyy-MM-dd')
and to_date('2015-01-09','yyyy-MM-dd')
GROUP BY to_char(sDateTime,'yyyy-MM-dd')
我有一个名为 sDateTime 的日期数据类型列,我希望按日期分组选择数据,实际上我想显示特定月份每一天的销售额。
sDateTime 是 Date 数据类型,但它也存储时间,因此我需要将其转换为日期格式。我正在使用以下抛出异常的查询 ORA-00979 请任何人帮助我。
SELECT sdatetime AS Sale_Date,
SUM(amount) AS Sale
FROM sales
GROUP BY To_char(sdatetime, 'yyyy-MM-dd')
HAVING sdatetime BETWEEN To_date('2015-01-01', 'yyyy-MM-dd') AND
To_date('2015-01-09', 'yyyy-MM-dd')
像这样重写查询
select to_char(sDateTime,'yyyy-MM-dd') AS Sale_Date, SUM(Amount) AS Sale
FROM SALES where sDateTime between to_date('2015-01-01','yyyy-MM-dd')
and to_date('2015-01-09','yyyy-MM-dd')
GROUP BY to_char(sDateTime,'yyyy-MM-dd')