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

Sélectionner des lignes uniques, en fonction de la valeur dans une colonne secondaire

Vous avez probablement besoin de ceci :

SELECT
  MIN(id) id,
  code,
  MIN(product_name) product_name,
  MIN(supplier) supplier
FROM
  yourtable
WHERE
  (code, CASE WHEN supplier='Supplier1' THEN '' ELSE supplier END)
  IN (SELECT   code, min(CASE WHEN supplier='Supplier1' THEN '' ELSE supplier END)
      FROM     yourtable
      GROUP BY code)
GROUP BY
  code
ORDER BY
  min(id);

Veuillez consulter le violon ici .