2017-03-15 2 views
0

Ich habe eine Tabelle, in der ein bestimmter Wert dupliziert werden kann, wenn ein anderes Feld in einer anderen Gruppe vorhanden ist. Ich versuche herauszufinden, wie man die doppelten Einträge ignoriert.Wählen Sie Zeilen, in denen Einträge für eine bestimmte Spalte dupliziert werden

diese Tabelle vor:

 
+--------+-----+----------+ 
| Amount | CID | GROUP_ID | 
+--------+-----+----------+ 
| 10.0 | 1 | g1  | 
| 10.0 | 2 | g1  | 
| 5.0 | 1 | g2  | 
| 5.0 | 1 | g2  | 
+--------+-----+----------+ 

Ich mag würde den summierten Betrag zurück, aber nur unterschiedliche Beträge in Bezug auf CID innerhalb einer Gruppe-ID verwenden.

 
+------------+----------+ 
| net_amount | GROUP_ID | 
+------------+----------+ 
| 10.0  | g1  | 
| 10.0  | g2  | 
+------------+----------+ 

Ich habe versucht Gruppierung nach Betrag und Gruppen-ID und Beitritt zur Gruppen-ID, aber ohne Erfolg.

sehr geschätzt.

Antwort

1
select distinct sum(amount) as net_amount,group_id from your_table group by group_id,cid; 

Dies kann Ihnen helfen. Nehmen Sie den Unterschied der Ausgabe, aber gruppieren Sie ihn mit allen gewünschten Spalten.

+0

Danke für die schnelle Antwort! – helpneeded

Verwandte Themen