Посчитать количество строк по сложному MySQL запросу

186
15 декабря 2016, 15:51

Здравствуйте!

Мой первый вопрос по данной теме был тут: MySQL запрос по фильтрам.

Тогда ответом был следующий запрос:

SELECT `gid`
FROM `link`
WHERE `fid` in (1, 2, 4, 5)
GROUP BY gid
HAVING COUNT(DISTINCT `fid`) = 4.

Теперь встал новый вопрос: как посчитать количество таких строк, не выбирая их все?

Answer 1

Ответ из комментариев от zb'

Не выбирать совсем не получится, т.к. этот запрос предполагает выборку всех, но в рамках mysql можно поступить примерно так:

SELECT
  COUNT(*)
FROM
  (SELECT
     gid
   FROM
     link
   WHERE
     fid in (1, 2, 4, 5)
   GROUP BY
     gid
   HAVING
      COUNT(DISTINCT fid) = 4
  )
READ ALSO
Структура базы данных для простой CRM

Структура базы данных для простой CRM

Сразу оговорюсь, что я еще совсем начинающий, поэтому просьба не обижатьЕсть задача - написать простейшую CRM-систему, с функциями добавления,...

288
Стоит ли хранить файлы в базе данных?

Стоит ли хранить файлы в базе данных?

На PHPclab прочитал, что в MySQL базе данных можно хранить файлыУ меня сайт небольшой

187
Подсчёт количества детей в таблице

Подсчёт количества детей в таблице

Есть следующая таблица:

190
Формирования запроса Select DESC

Формирования запроса Select DESC

Доброго времени суток! У меня проблема с выводом топа, вот собственно запрос

167