Php MYSQL查询以查找已审核的服务数量
我的数据库有以下表Php MYSQL查询以查找已审核的服务数量,php,mysql,sql,database,Php,Mysql,Sql,Database,我的数据库有以下表 services +----+----------+ | id |serviceID | +----+----------+ reviews +----+----------+-----------+ | id | reviewID | serviceID | +----+----------+-----------+ 这些在serviceID上链接在一起 现在,我希望能够得到的服务量审查 因此,可能会有5000条评论,但所有这些评论都是以13项服务为例的
services
+----+----------+
| id |serviceID |
+----+----------+
reviews
+----+----------+-----------+
| id | reviewID | serviceID |
+----+----------+-----------+
这些在serviceID
上链接在一起
现在,我希望能够得到的服务量审查
因此,可能会有5000条评论,但所有这些评论都是以13项服务为例的
我如何在MYSQL中实现这一点?我想您希望了解有多少不同的服务已经过审查
SELECT COUNT(*) FROM reviews GROUP BY serviceID
在按serviceID
分组的reviews
上执行select count(*)
,应该可以得到:
SELECT count(*), serviceID
FROM reviews
GROUP BY serviceID
这将显示您对每项服务的审核次数。被审核的服务总量:
SELECT count(distinct serviceID) FROM reviews
如果我理解正确,您需要至少有一次审阅的服务数量。要找到它,可以使用以下代码:
select count(*) from services s
where EXISTS
select * from reviews r where r.serviceID = s.serviceID
谢谢那太好了谢谢,你知道我怎样才能根据对账单之间的差额得到这笔钱吗。这意味着从两个日期之间的评论where
在
创建时的评论中计算它们?只需将where created_at>''和created_at<''条件添加到该查询中。@skorchakov,但根据提供的数据库架构,没有created_at
列;-):-)通过这个查询,您将得到总共有多少个服务被审查。如果您有3个服务A、B和C,且A未收到任何评论,B收到35条评论,C收到70条评论,则此查询将返回2条。