SELECT pc1.model, pc2.model FROM pc AS pc1
INNER JOIN pc AS pc2
ON (pc1.speed = pc2.speed AND pc1.ram = pc2.ram AND pc1.model <> pc2.model);
+--------+--------+
| model | model |
+--------+--------+
| ASUS4 | Intel4 |
| Intel4 | ASUS4 |
| AMD4 | AMD3 |
| AMD3 | AMD4 |
+--------+--------+
+--------+--------+
| model | model |
+--------+--------+
| ASUS4 | Intel4 |
| AMD4 | AMD3 |
+--------+--------+
SELECT
GROUP_CONCAT(pc.`model` SEPARATOR ', ') AS 'models',
pc.`speed`,
pc.`ram`
FROM pc
GROUP BY pc.`speed`, pc.`ram`
HAVING COUNT(*) >= 2
SELECT pc1.model, pc2.model FROM pc AS pc1
INNER JOIN pc AS pc2 ON (pc1.speed = pc2.speed
AND pc1.ram = pc2.ram
AND pc1.model < pc2.model);
/* To get rid of repetitions (i,j) and (j,i)
it was necessary to replace pc1.model <> pc2.model
on pc1.model < pc2.model */
Find more questions by tags MySQL