SQL-Wie man eine bedingte Summe von eindeutige id?

Angenommen, Sie haben ResultSet wie:

DATE          ID    cost    
---------------------------------------
 01/01/2011    1     10      
 01/01/2011    1     10      
 01/01/2011    2     10      
 01/01/2011    2     10      

Ich will einen Weg, um die Summe der Werte auf den Preis, sondern nur einmal für jede eindeutige ID, so dass, wenn ich group by Datum, das ich ein Ergebnis erhalten, wie

DATE            cost

01/01/2011         20

Zuerst habe ich versucht so etwas wie

    sum(distinct cost) 

aber, dass der Fluch, gibt nur 10
Ich habe auch versucht:

sum(case when distinct id then cost else 0 end)

aber das ist nicht eine funktionelle Abfrage.

  • Welche Geschmacksrichtung von SQL verwenden Sie?
  • Sind die Kosten-Werte immer die gleiche für eine gegebene ID?
  • Dies ist von oracle ist, kann ich nicht group by Datum und Id, wie ich muss 1 Zeile pro Datum.
InformationsquelleAutor Oscar Gomez | 2011-05-11
Schreibe einen Kommentar