-1

我需要有关 sql oracle 的帮助,我的 group by 不起作用,我正在使用 shell,所以我没有任何帮助。

有人可以告诉我如何按 noArticle 对下一个请求进行分组。

SELECT Article.noArticle, quantite
FROM Article LEFT JOIN LigneCommande ON Article.noArticle = LigneCommande.noArticle
GROUP BY Article.noArticle
/

谢谢

4

3 回答 3

2

为了解决问题,这是正确的 SQL。

SELECT Article.noArticle, sum(quantite)
FROM Article LEFT JOIN LigneCommande ON Article.noArticle = LigneCommande.noArticle
GROUP BY Article.noArticle
于 2013-09-30T01:52:44.127 回答
1

您按列分组,然后尝试使用非组级别的 quantite 字段,它是记录级别。Group by 是聚合,您必须使用聚合列(您分组的列或列上的聚合函数,如 sum、avg、count、max 或 min)。您需要聚合记录级字段才能在投影中使用它们(选择子句)。举个例子,你的尝试就像试图获取美国女性的头发颜色(当然,美国女性有很多,并且可能有不同的头发颜色,所以试图获取价值是不自然和不明智的)来自美国女性的头发颜色)。您的固定查询如下:

SELECT Article.noArticle, sum(quantite)
FROM Article LEFT JOIN LigneCommande ON Article.noArticle = LigneCommande.noArticle
GROUP BY Article.noArticle
于 2013-09-30T02:05:40.360 回答
0

For my situation i need the summation of the quantite so in order to make it work i added SUM(quantite) and then i grouped by noArticle

于 2013-09-30T01:32:37.753 回答