0

次の列を持つ顧客の購入レコードで構成されるテーブルがあります

CUSTOMER  TRANSDATE  SALENUM  STORE  TRANSTYP  PRICE  
--------  --------- --------- ----- --------- ------
  1     12-FEB-2013    777      O     CASH      7.99
  1     12-FEB-2013    777      O     CASH      6.99
  1     12-FEB-2013    778      O     CARD      9.17
  2     23-APR-2013    987      D     CASH      7.65
  1     15-MAY-2013    1098     T     CARD      2.35

各salenumについてsalenum i,eを集計したいのですが、特定のsalenumで同じであるため、合計価格と、store、transtyp、transdate、customerの値が必要です

しかし、私が使用する場合

select customer,transdate,salenum,store,transtyp,sum(price) from table1 group by salenum

値による有効なグループではないことは明らかです。望ましい結果を得るには?

サンプル結果:

CUSTOMER  TRANSDATE  SALENUM  STORE  TRANSTYP  PRICE  
--------  --------- --------- ----- --------- ------
  1     12-FEB-2013    777      O     CASH      15.98
  1     12-FEB-2013    778      O     CARD       9.17
4

2 に答える 2

1

集計されていないすべての列は、次の基準でグループ化する必要があります。

select customer,transdate,salenum,store,transtyp,sum(price)
from table1 
group by customer,transdate,salenum,store,transtyp
于 2013-06-14T01:46:07.167 に答える
0
SELECT CUSTOMER,TRANSDATE,SALENUM,STORE,TRANSTYP,SUM(PRICE)
FROM TABLE1
GROUP BY CUSTOMER,TRANSDATE,SALENUM,STORE,TRANSTYP
ORDER BY CUSTOMER

order by 句を使用するのは、順序どおりであり、順序どおりであるためです。

于 2013-06-14T01:51:37.157 に答える