Group By 的困难
Difficulty with Group By
我很难理解在这种情况下我应该做什么:
当 运行 时,查询显示商品编号、订单数量、订单日期和记录订单的销售员。
SELECT t1.item_num,
t2.qty_ordered,
t2.order_date,
t3.slsperson
FROM t1
JOIN t2
ON t1.item = t2.item
JOIN t3
ON t2.order_num = t3.order_num
但是,有多个相同商品编号被退回,每个商品的订购数量不同。我想将相似的商品编号分组以获得该商品的总订购数量。
我真的不能按 item_num 分组,因为 SELECT 中的其他任何东西都没有聚合函数,它们不应该有聚合函数。
如果其余列没有聚合函数,我该如何对项目编号进行分组?
不确定我是否理解正确,但我认为这可能就是您想要的。您可以按除聚合之外的所有列进行分组。
SELECT t1.item_num,
sum(t2.qty_ordered),
t2.order_date,
t3.slsperson
FROM
t1
JOIN t2
ON t1.item = t2.item
JOIN t3
ON t2.order_num = t3.order_num
GROUP BY t1.item_num, t2.order_date, t3.slsperson
您可以尝试这样的操作:
SELECT * FROM (SELECT t1.item_num,
t2.qty_ordered,
t2.order_date,
t3.slsperson FROM t1 JOIN t2 ON t1.item = t2.item JOIN t3 ON t2.order_num = t3.order_num ) AS table GROUP BY table.item_num
希望对你有用。
我很难理解在这种情况下我应该做什么:
当 运行 时,查询显示商品编号、订单数量、订单日期和记录订单的销售员。
SELECT t1.item_num,
t2.qty_ordered,
t2.order_date,
t3.slsperson
FROM t1
JOIN t2
ON t1.item = t2.item
JOIN t3
ON t2.order_num = t3.order_num
但是,有多个相同商品编号被退回,每个商品的订购数量不同。我想将相似的商品编号分组以获得该商品的总订购数量。
我真的不能按 item_num 分组,因为 SELECT 中的其他任何东西都没有聚合函数,它们不应该有聚合函数。
如果其余列没有聚合函数,我该如何对项目编号进行分组?
不确定我是否理解正确,但我认为这可能就是您想要的。您可以按除聚合之外的所有列进行分组。
SELECT t1.item_num,
sum(t2.qty_ordered),
t2.order_date,
t3.slsperson
FROM
t1
JOIN t2
ON t1.item = t2.item
JOIN t3
ON t2.order_num = t3.order_num
GROUP BY t1.item_num, t2.order_date, t3.slsperson
您可以尝试这样的操作:
SELECT * FROM (SELECT t1.item_num,
t2.qty_ordered,
t2.order_date,
t3.slsperson FROM t1 JOIN t2 ON t1.item = t2.item JOIN t3 ON t2.order_num = t3.order_num ) AS table GROUP BY table.item_num
希望对你有用。