如何在SQL中加入&Groupby?
我正在Oracle SQL Developer中运行以下命令:如何在SQL中加入&Groupby?,sql,oracle,Sql,Oracle,我正在Oracle SQL Developer中运行以下命令: SELECT order.adate, details.ordid, sum(details.price) as total FROM details,order where details.ordid=order.ordid GROUP BY details.ordid; 但我得到了这个错误: ORA-00979: not a GROUP BY expression 00979. 00000 - "
SELECT
order.adate,
details.ordid,
sum(details.price) as total
FROM details,order
where details.ordid=order.ordid
GROUP BY details.ordid;
但我得到了这个错误:
ORA-00979: not a GROUP BY expression
00979. 00000 - "not a GROUP BY expression"
您的select列与group by不匹配-select中有两个未聚合列,group by中只有一个列。大概,您想要:
select o.adate, d.ordid, sum(d.price) as total
from details d join
order o
on d.ordid = o.ordid
group by o.adate, d.ordid;
或者更可能:
select o.adate, sum(d.price) as total
from details d join
order o
on d.ordid = o.ordid
group by o.adate;
注:
请勿在FROM子句中使用逗号。始终使用正确、明确、标准、可读的联接语法。
表别名使查询更易于编写和读取。
order对于表来说是一个非常糟糕的名称,因为它是SQL关键字。
您的select列与group by不匹配-select中有两个未聚合列,group by中只有一个列。大概,您想要:
select o.adate, d.ordid, sum(d.price) as total
from details d join
order o
on d.ordid = o.ordid
group by o.adate, d.ordid;
或者更可能:
select o.adate, sum(d.price) as total
from details d join
order o
on d.ordid = o.ordid
group by o.adate;
注:
请勿在FROM子句中使用逗号。始终使用正确、明确、标准、可读的联接语法。
表别名使查询更易于编写和读取。
order对于表来说是一个非常糟糕的名称,因为它是SQL关键字。
样本数据和预期结果将有所帮助。错误似乎很明显。样本数据和期望的结果会有所帮助。错误似乎很明显。