Ich habe diese Tabelle: Tabelle 1MySQL - PHP eindeutige Werte aus den Zeilen
+----+-----------------------+----------+------+-------+
| ID | COUNTRY | QUANTITY | EACH | PRICE |
+----+-----------------------+----------+------+-------+
| 1 | U.S.A | 1 | 12 | 1*12 |
| 2 | U.K. | 2 | 3 | 2* 3 |
| 3 | GERMANY | NULL | 3 | |
| 4 | FRANCE;GERMANY; U.S.A | 0 | 7 | |
| 5 | U.S.A;GERMANY | 3 | 8 | 3*8 |
| 6 | FRANCE;U.K. | 1 | 10 | 1*10 |
| 7 | U.S.A;FRANCE | 2 | 6 | 2*6 |
| 8 | FRANCE;FRANCE | 9 | 3 | 9*3 |
+----+-----------------------+----------+------+-------+
und diesen Code sql:
SELECT
COUNTRY,
SUM(COALESCE(IF(QUANTITY = NULL OR QUANTITY = 0,1,QUANTITY), 1) * EACH) AS PRICE
FROM table1
GROUP BY COUNTRY
Wie kann ich eindeutige Werte für die Länderspalte erstellen und zurückgeben: USA = 48 (ID: 1 + 5 + 7); UK = 6; DEUTSCHLAND = 3; FRANKREICH = 44 (ID: 4 + 6 + 8). Ich möchte, dass die Reihen, die zwei, drei, vier Länder enthalten, eliminiert werden und nur das erste Land aus der Reihe bleiben soll. Vielen Dank!
Das ist ein schrecklicher Tisch. Sie sollten ein Land pro Zeile COUNTRY haben. Dann beziehen Sie verschiedene Länder durch eine gemeinsame Kartierung. Sie können dies nur tun, indem Sie die Tabelle abfragen und die Strings vergleichen. Was alles über das Datenbankdesign ignoriert. – Aaron
Warten Sie ... möchten Sie Datensätze mit mehr als einem Land _eliminieren oder möchten Sie sie behalten, aber nur das erste Land behalten? –
Sie würden das Datenmodell reparieren, um eine Tabelle mit einer Zeile pro 'ID' und Land zu haben. Das ist die SQLish-Methode zum Darstellen einer Liste - keine getrennte Trennliste. –