我有两个表:用户和照片。
用户有很多照片。照片有一个名为user_id的列,照片有一个用户。照片也有一个名为report的列,它是0或1。
我需要知道至少报告了1张照片的用户数量=1。我还需要知道至少报告了2张照片的用户数量。
我该怎么做?这是我想做的,但是显然不起作用:
select count(*)
from users join
(select * from photos where photos.reported = 1) as p2
on users.photo_id = p2.id;
最佳答案
只需获得计数的直方图:
select numreported, count(*), min(user_id), max(user_id)
from (select p.user_id, sum(p.reported = 1) as numreported
from photos p
group by p.user_id
) p
group by numreported
order by numreported;
这使您拥有所有
numreported
计数(包括0)的用户数。关于mysql - 在SQL where子句中比较计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27431256/