【发布时间】:2014-02-17 18:41:34
【问题描述】:
我发现了十几个与我的问题相似的不同主题,但我没有看到任何可以解决我遇到的问题的主题。我有三个数据库来跟踪客户/销售交易。我可以加入他们并毫无问题地获取我正在寻找的单个交易,但是当我尝试按 vendor_name 对结果进行分组时,我得到“ORA-00979:不是 GROUP BY 表达式”,尽管 vendor_name 是我的列之一正在选择(我认为这是先决条件)。我在这里忽略了一些真正简单的事情吗?
select tran_date,product_name,quantity,
product_price,vendor_name,quantity*product_price as total
from transactions
join products using(product_num)
join customers using(vendor_id) group by vendor_name;
【问题讨论】:
-
Group by 用于聚合...您要在这里聚合什么数据?所有列要么是聚合,要么是 group by 语句的一部分。
-
最大、最小、计数、总和...没有聚合,不需要分组依据。也许你的意思是订购?
-
更新了你的问题,说明你为什么需要
group by以及你试图通过使用它来完成什么。