To jest podział relacyjny problem. Coś takiego powinno wystarczyć.
SELECT id
FROM your_table
WHERE
(keyword="display" and value="15.6") OR (keyword="harddrive" and value="320")
GROUP BY id
HAVING COUNT(*) = 2
Zakładam, że twoja tabela ma odpowiednie ograniczenia, tak że niemożliwe jest, aby był całkowicie zduplikowany wiersz. (np. istnieje PK dla id, keyword
)