我认为我的DISTINCT语句会帮助按order.customer_num分组,但情况似乎并非如此。我相信它与我的SELECT语句中的表达式有关。非常新的SQL。
SELECT DISTINCT orders.customer_num AS "Customer Number",
COUNT(orders.order_num) AS "Number of Orders",
SUM(items.quantity) AS "Total Quantity", stock.unit_price AS "Unit Price",
items.quantity * stock.unit_price AS "Total Price"
FROM orders,
items,
stock
WHERE orders.order_num = items.order_num
AND items.stock_num = stock.stock_num
GROUP BY orders.customer_num, items.quantity, stock.unit_price
ORDER BY orders.customer_num;
附上一张照片,展示我的收获。 My Result
答案 0 :(得分:0)
您的stock.unit_price
似乎是独一无二的。从逻辑上讲,它按unit_price
选择item
。您需要丢弃stock
表和相关的连接条件或总结
答案 1 :(得分:0)
您希望客户group
并计算所有列的总数吗?如果我是对的你不需要group by
items.quantity, stock.unit_price
列和distinct
,请试试这个
SELECT orders.customer_num AS "Customer Number",
COUNT(orders.order_num) AS "Number of Orders", -- or SUM() depends on your logic
SUM(items.quantity) AS "Total Quantity",
SUM(stock.unit_price) AS "Unit Price",
SUM(items.quantity * stock.unit_price) AS "Total Price"
FROM orders, items, stock
WHERE orders.order_num = items.order_num
AND items.stock_num = stock.stock_num
GROUP BY orders.customer_num
ORDER BY orders.customer_num;