SQL SUM mit Bedingungen

+--------+--------+-------+-------+ | PartId | ItemId | Price | Staus | +--------+--------+-------+-------+ | 94669 | 3678 | 88 | 1 | | 94669 | 3679 | 22 | 1 | | 94669 | 3680 | 30 | 1 | | 94669 | 3681 | 50 | 4 | | 94670 | 3678 | 88 | 1 | | 94670 | 3679 | 22 | 1 | | 94670 | 3680 | 30 | 1 | | 94670 | 3681 | 50 | 1 | +--------+--------+-------+-------+ 

Die erwartete Ausgabe ist (ohne Status 4)

 +--------+------------+ | PartId | TotalPrice | +--------+------------+ | 94669 | 140 | | 94670 | 190 | +--------+------------+ 

Wie kann ich das in SQL erreichen?

Solutions Collecting From Web of "SQL SUM mit Bedingungen"

Hübsche grundlegende Aggregationsabfrage mit einer where und group by .

 select partid, sum(price) as totalprice from t where [status] <> 4 group by partid 

Wenn du einen anderen status als 1 auslassen musst, wäre es richtig, stattdessen status = 1 verwenden:

 select partid, sum(price) as totalprice from t where [status] = 1 group by partid 

Du kannst es versuchen:

 SELECT "Part ID", SUM(Price) FROM ( SELECT "Part ID", Price FROM Table WHERE Status <> 4) GROUP BY "Part ID";