SELECT color, size, type FROM `table`
color size type
blue small shirt
blue medium shirt
red large sweater
red large sweater
green small sweater
blue small shirt
SELECT distinct(concat(color,size,type)), color, size, type FROM `table`
(concat(color,size,type)) color size type
bluesmallshirt blue small shirt
bluemediumshirt blue medium shirt
redlargesweater red large sweater
greensmallsweater green small sweater
You provided no sample data so I made a small dataset to illustrate the problem you seem to be in. And whiel this doeesn't actually delete any records what it does do is give you the compete set of data with no more than one copy in the event two records duplicate. In the original data set there are 6 entries including 2 blue small shirts, and 2 red large sweaters, but the second line each is listed once. the easiest way to "delete" would be to import this query into a new blank database with the same structure as your original, then replace the data in the original with the copy.