Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL SELECT Duplizierte Zeilen aus der OpenCarts-Datenbank

DISTINCT entfernt doppelte ganze Zeilen .

Verwenden Sie GROUP BY p.product_id um eine 1-Zeile pro Produkt-ID anzuzeigen.

Hinweis:Wenn Sie nach product_id gruppieren, wenn Sie mehrere Produktbeschreibungen, mehrere Kategorien oder mehrere Kategoriebeschreibungen haben, gibt die Abfrage für jede eine zufällige Zeile zurück. Verwenden Sie den MIN() oder MAX() Funktionen, um einzelne IDs abzurufen, oder verwenden Sie den GROUP_CONCAT() Funktion zum Abrufen der gesamten Beschreibung.

Beispiel

SELECT
  p.product_id AS pid,
  p.model AS modelo,
  SUBSTRING(p.model,1,25) AS substr_modelo,
  p.image AS foto,
  p.price AS preco,
  GROUP_CONCAT(pd.name) AS nome,
  GROUP_CONCAT(cd.name) AS category
FROM product p
  LEFT JOIN product_description pd ON p.product_id = pd.product_id
  LEFT JOIN product_to_category p2c ON p.product_id = p2c.product_id
  LEFT JOIN category_description cd ON p2c.category_id = cd.category_id
  WHERE pd.name LIKE _utf8 'laser%' collate utf8_unicode_ci
GROUP BY p.product_id
ORDER BY p.product_id DESC