Из таблицы ниже, как мне выбрать все animalIds, которые имеют определенную комбинацию attributeIds, например если бы я предоставил атрибуты 455 и 685, я бы ожидал, что вернутся AnimalIds 55 и 93
Название таблицы: animalAttributes
id attributeId animalId
1 455 55
2 233 55
3 685 55
4 999 89
5 455 89
6 333 93
7 685 93
8 455 93
У меня есть следующий запрос, который, кажется, работает, однако я не уверен, есть ли более надежный способ?
SELECT animalId
FROM animalAttributes
WHERE attributeId IN (455,685)
GROUP BY animalId
HAVING COUNT(DISTINCT attributeId) = 2;