以下SQL(PHP,MySQL)为我提供了每行一个id的行,以及每个id的匹配数,分别为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。
我怎么得到这个?
谢谢。
答案 0 :(得分:1)
在没有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)
)