我必须编写一个MySQL查询: 查找在两天(01-JUL-11和02-JUL-11)上销售的产品和总数产品销售。MySQL查询查找在两天中销售的产品
表看起来像:
Date, Order_id, Product_id, Quantity
'01-JUL-11',O1,P1,5
'01-JUL-11',O2,P2,2
'01-JUL-11',O3,P3,10
'01-JUL-11',O4,P1,10
'02-JUL-11',O5,P3,5
'02-JUL-11',O6,P4,6
'02-JUL-11',O7,P1,2
'02-JUL-11',O8,P5,1
'02-JUL-11',O9,P6,2
'02-JUL-11',O10,P2,4
输出:
P1 17
P2 6
P3 15
到目前为止,我已经试过是:
SELECT PRODUCT_ID, TOTAL FROM
(SELECT PRODUCT_ID, COUNT(PRODUCT_ID) AS COUNTER, SUM(TOTAL) TOTAL FROM
(Select ORDER_DAY, PRODUCT_ID, SUM(QUANTITY) AS TOTAL
FROM ORDERS
GROUP BY ORDER_DAY, PRODUCT_ID) ALIAS_1
GROUP BY PRODUCT_ID) ALIAS_2
WHERE COUNTER > 1;
它给出正确的输出,但我认为它可以优化。
非常不清楚你问这里 – Drew
@Drew我做编辑。让我知道如果它仍然不清楚。 – Raj