回答

收藏

ORACLE SQL选择不删除重复项

技术问答 技术问答 306 人阅读 | 0 人回复 | 2023-09-12

我有以下表格:格式:table_name [column1,column2等。]
2 F! B" w9 g+ n6 r( @5 dVENDOR_ORDERS [ORDER_ID,ORDER_CREATION_DATETIME,REGION_ID,ZIP_CODE,AMOUNT]CALENDAR [CALENDAR_WEEK,CALENDAR_DATE]基本上,我想要实现的目的是为我编写一个查询:2 v  w* j4 @; u. M7 c: O
在COUNT(ORDER_ID)和SUM(AMOUNT)每CALENDAR_WEEK对每一个REGION_ID和DISTINCT(ZIP_CODE)
! Y; \/ C" v" `! B因此,结果如下:. p: x2 ^1 |8 w1 g! M, ]1 L( \. {
ZIP_CODE    CALENDAR_WEEK    REGION_ID    COUNT(ORDER_ID)    SUM(AMOUNT)                            --------------------XXXXX                              50                               87878887    .45YYYYY                                                              5688855888                                568888558885558885.32ZZZZZ      55555555555555555555555555555555555555555555555                                                                                                                                                                                                                                                                                                         .63MMMMM                                                                .93XXXXX            15                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          .34YYYYY           155                                                   339333339333333333333333333333333333333333333333333333335    .67ZZZZZ                                                                  457575   .23MMMMM                               888                         4595.99我使用以下代码:
; h' S# b) S+ T8 w, A/ z$ wSELECT    DISTINCT(vo.ZIP_CODE)    ,TO_CHAR(ca.CALENDAR_WEEK)    ,TRUNC(vo.ORDER_CREATION_DATETIME) -- this column is not needed,i just added it for visualization purposes    ,vo.REGION_ID    ,COUNT(vo.ORDER_ID)    ,SUM(vo.AMOUNT)FROM    VENDOR_ORDERS vo    ,CALENDAR caWHERE       TRUNC(vo.ORDER_CREATION_DATETIME) = sd.CALENDAR_DATE    AND vo.REGION_ID = 1GROUP BY    vo.ZIP_CODE    ,TO_CHAR(ca.CALENDAR_WEEK)    ,vo.ORDER_CREATION_DATETIME    ,vc.REGION_ID;问题是,我没有得到DISTINCT(ZIP_CODE)每CALENDAR_WEEK,我有重复ZIP_CODE了相同的CALENDAR_WEEK,相同的REGION_ID,但不同的COUNT(ORDER_ID)和SUM(AMOUNT)+ F5 T! s! P- E9 }3 m( X5 C* h
我希望我能说清楚。首先感谢您的帮助
4 D+ l4 H/ ^* S4 u  y9 Z% |# k# q. c% z                                                               
, X+ E0 J( h& B! Z    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则