我使用TOAD进行ORACLE查询,现在我有疑问,为什么查询结果总是显示2而我已经对我的列进行了分组。
要说清楚,这是我的代码:
SELECT DISTINCT
M.MODEL_NO,
P.FORM_NO,
P.MODEL_NO,
P.DATE_ADDED,
Q.FORM_NO,
Q.STATUS_QTY,
SUM(Q.QTY) OVER (PARTITION BY M.MODEL_NO ORDER BY M.MODEL_NO
RANGE UNBOUNDED PRECEDING) QTY
FROM
SEIAPPS_MODEL M, SEIAPPS_PRODUCTION_STATUS P, SEIAPPS_QTY Q
WHERE
P.FORM_NO = Q.FORM_NO AND P.MODEL_NO = M.MODEL_NO AND M.MODEL_NO = '17' AND P.DATE_ADDED
BETWEEN '2013-08%' AND '2013-10' AND Q.STATUS_QTY = 'OK'
总和数量是成功的,但我的问题是,为什么结果总是显示相同数据的双倍? 逻辑是,如果模型号相同,那么虽然添加了不同的日期,但它会使它变为SUM。
答案 0 :(得分:0)
可能你打算在窗口条款中通过P.DATE_ADDED订购。