Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL SELECT Lignes dupliquées à partir de la base de données OpenCarts

DISTINCT supprime les lignes entières en double .

Utilisez GROUP BY p.product_id pour afficher une ligne par identifiant de produit.

Remarque :Si vous regroupez par product_id, si vous avez plusieurs descriptions de produits, plusieurs catégories ou plusieurs descriptions de catégories, la requête renverra une ligne aléatoire pour chacun. Utilisez le MIN() ou MAX() fonctions pour récupérer des identifiants uniques, ou utilisez le GROUP_CONCAT() fonction pour récupérer toute la description.

Exemple

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