2016-05-12 24 views
1

Ich versuche meine Daten in meinen Tabellen nach all den Preisen zu gruppieren, die ich über x Tage aufgezeichnet habe. Ich habe Probleme mit der SQL-Anweisung, hier ist meine aktuelle AussageMySQL Group_Concat zwei Tabellen zusammen

SELECT *, GROUP_CONCAT(Price) AS Prices FROM product_prices GROUP BY Product,Day 

Hier ist mein product_prices Tisch;

+---------+--------------+ 
| Product | Day | Price | 
+---------+--------------+ 
| Phone| 1 | 100 | 
| Speaker| 1 | 50 | 
| Phone | 2 | 230 | 
| Speaker| 2 | 80 | 
+---------+--------------+ 

Wo möchte ich die Preise Gruppe wie diese Sie

+---------+----------+ 
| Product | Prices | 
+---------+----------+ 
| Phone| 100, 230 | 
| Speaker| 50, 80 | 
+---------+----------+ 
+0

Sie Shou ld zeigt uns auch, welche Ausgabe Ihre aktuelle Abfrage (die nicht weit entfernt ist) Ihnen gibt. –

Antwort

1

Wenn Sie die Preise vom niedrigsten zum höchsten auswählen möchten, sollten Sie order by in Ihrer Group_concat Anweisung:

SELECT Product, 
GROUP_CONCAT(Price ORDER BY Price) AS Prices 
FROM product_prices 
GROUP BY Product 

SQLFiddle

1

von Tag zu Tag in 1 Tisch sein müssen Day in der GROUP BY Klausel entfernen. Darüber hinaus ersetzen *, mit Product:

SELECT 
    Product, 
    GROUP_CONCAT(Price) AS Prices 
FROM product_prices 
GROUP BY Product 

ONLINE DEMO