SQL

2016-03-18 21 views
1

satır koşulunda toplama sütunu Kategorik verilerle 'Ad' adında bir sütun ve her kategorideki toplam ile 'Toplam' adlı başka bir sütun var.SQL

Ben birkaç gruplandırılmış İsimler toplam Özetle istiyorum:

örn: İsim (elma, muz, kereviz, fasulye); Toplam (300, 408, 350, 250) Meyve toplamını (elma + muz) & sebze toplamını (kereviz + fasulye) ayrı ayrı hesaplamak istiyorum.

nasıl

+1

Eğer PostgreSQL sürüm> = 9,4 kullanabileceğiniz 'FILTER' maddesini deneyin bu Postgre SQL olduğunu yapacağız: [Agrega İfadeler] (http: // www .postgresql.org/docs/9.4/static/sql-expressionions.html # SYNTAX-AGGREGATES) Sizin durumunuzda ... toplam (toplam) filtre (adı '(' apple ',' banana ')) total_fruits olarak, ... – Abelisto

cevap

2

Şartlı SUM

SELECT SUM(CASE WHEN Name IN ('apple', 'banana', 'celery', 'beans') THEN Total 
                     ELSE 0 
      END) AS ap_ba_ce_be_total, 

     SUM(CASE WHEN Name IN ('apple', 'banana') THEN Total 
                ELSE 0 
      END) AS ap_ba_total 
FROM YourTable