Здравствуйте!
Мой первый вопрос по данной теме был тут: MySQL запрос по фильтрам.
Тогда ответом был следующий запрос:
SELECT `gid`
FROM `link`
WHERE `fid` in (1, 2, 4, 5)
GROUP BY gid
HAVING COUNT(DISTINCT `fid`) = 4.
Теперь встал новый вопрос: как посчитать количество таких строк, не выбирая их все?
Ответ из комментариев от zb'
Не выбирать совсем не получится, т.к. этот запрос предполагает выборку всех, но в рамках mysql можно поступить примерно так:
SELECT
COUNT(*)
FROM
(SELECT
gid
FROM
link
WHERE
fid in (1, 2, 4, 5)
GROUP BY
gid
HAVING
COUNT(DISTINCT fid) = 4
)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей