Как я могу объединить SQL-запрос как целое число? - PullRequest
0 голосов
/ 09 июля 2019

Следующий SQL (PHP, MySQL) дает мне строки с одним идентификатором на строку и количеством совпадений для каждого идентификатора, как COUNT() для каждого.

SELECT ot.id, COUNT(ot.id) 
FROM ot 
JOIN tm on tm.mediaid = ot.id 
WHERE tm.uploadedToS3 = 1 
    AND (
        ot.something IN (1) 
        OR ot.somethingelse IN (1) 
        OR ot.anotherthing IN (1) 
        OR ot.morestuff IN (1) 
        OR ot.evenmorestuff IN (1) 
    ) 
GROUP BY ot.id

В результате получается что-то вроде ...

ot.id COUNT(ot.id)
40153 4
40305 3
40309 35
40314 29
40315 12
40317 10
40318 16
40319 14
40324 154
40331 113

Я просто хотел бы знать, сколько строк возвращает этот запрос. Мне не нужна никакая другая информация, только одно целое число. Для вышесказанного, я ищу количество строк, то есть я бы ожидал получить число 10.

Как бы мне это получить?

Спасибо.

1 Ответ

1 голос
/ 09 июля 2019

Используйте count(distinct) без group by:

SELECT COUNT(DISTINCT ot.id)
FROM ot JOIN
     tm 
     ON tm.mediaid = ot.id 
WHERE tm.uploadedToS3 = 1 AND
      (ot.something IN (1) 
        OR ot.somethingelseIN (1) 
        OR ot.anotherthing IN (1) 
        OR ot.morestuff IN (1) 
        OR ot.evenmorestuff IN (1) 
      ) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...