简体   繁体   中英

Group by on multiple columns using Aggregate functions

I had the following Table Structure which is listed below

Budhol    COCODE    BEN      OBJ    SPARE2  SPARE1  TASKNO  Value   FieldNameNew
    362103  36      362101  991003  NULL    MA1001  NULL    4516    613030
    362103  36      362101  991003  NULL    MA1001  NULL    9088    613030
    362103  36      362101  991003  NULL    MA1001  NULL    3387    613030
    362103  36      362101  991003  NULL    MA1001  NULL    4026    613030

Below is the required Output

 Budhol   COCODE    BEN      OBJ    SPARE2  SPARE1  TASKNO  Value   FieldNameNew
    362103  36      362101  991003  NULL    MA1001  NULL    21017   613030

ie The Value should be sumed if all columns are same ie Sum of all Value Column

Below is the query which i have tried but value are not coming properly

SELECT B.BEN,
       B.BUDHOL,
       B.COCODE,
       B.FIELDNAMENEW,
       B.OBJ,
       B.SPARE1,
       B.SPARE2,       
       SUM(B.value)as Value into #temp4
FROM (
    SELECT DISTINCT A.BEN,
                    A.BUDHOL,
                    A.COCODE,
                    A.FIELDNAMENEW,
                    A.OBJ,
                    A.value,
                    A.SPARE2,
                    A.SPARE1      
    FROM #temp3 A
    LEFT JOIN #temp3 T1 ON A.BEN = t1.BEN
        AND A.BUDHOL = t1.BUDHOL
        AND A.COCODE = t1.COCODE
        AND A.OBJ = t1.OBJ
        AND A.SPARE1 = t1.SPARE1
        AND A.SPARE2 = t1.SPARE2
        AND A.FieldNameNew = t1.FieldNameNew
) B
GROUP BY B.BEN,
         B.BUDHOL,
         B.COCODE,
         B.OBJ,
         B.FIELDNAMENEW,
         B.SPARE1,
         B.SPARE2

Based on what you write, a much simpler query will work:

SELECT B.BEN, B.BUDHOL, B.COCODE, B.FIELDNAMENEW, B.OBJ, B.SPARE1, B.SPARE2,       
       SUM(B.value) as Value
into #temp4
FROM #temp3 B
GROUP BY B.BEN, B.BUDHOL, B.COCODE, B.FIELDNAMENEW, B.OBJ, B.SPARE1, B.SPARE2;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM