Php 获取sql中分组依据的行数

Php 获取sql中分组依据的行数,php,sql,join,group-by,left-join,Php,Sql,Join,Group By,Left Join,我的sql查询正在从sql表中获取数据 SELECT * FROM `bookings` bo LEFT JOIN routes ro ON bo.iRouteId = ro.iRouteId LEFT JOIN buses bu ON bo.iBusId = bu.iBusId WHERE eBookingBy = 'User' AND iUserId = '2' ORDER BY bo.iBookingId DESC 现在这将像这样返回给我o/p 这意味着它返回两个具有相同预订i

我的sql查询正在从sql表中获取数据

SELECT * FROM `bookings` bo 
LEFT JOIN routes ro ON bo.iRouteId = ro.iRouteId 
LEFT JOIN buses bu ON bo.iBusId = bu.iBusId 
WHERE eBookingBy = 'User' AND iUserId = '2' 
ORDER BY bo.iBookingId DESC
现在这将像这样返回给我o/p

这意味着它返回两个具有相同预订id的数据,现在我要做的是
GROUP BY bo.vbookinno
Soo它将只返回一个数据

现在我需要的是,我需要一个计数,有多少行被分组

例如,如果我在上面的查询中使用group by
vBookingNo
,它将只向我输出一个结果。但它也会返回一个按分组的行数

所以这里它将返回o/p计数2

谢谢。

您需要计数()


这意味着它返回两个具有相同预订id的数据,现在我要做的是GROUP BY bo.vBookingNo Soo它将只返回一个数据。你能澄清这一部分吗?使用
count(*)
。当我没有使用GROUP_BY时,它会根据where条件返回两个数据,但如果我使用GROUP BY,它肯定会返回一个数据。所以我需要的只是按数据对该组进行计数我的坏,我读错了,但Zaynul的答案就是你所需要的。它真的很棒。我搜索了很多次,尝试了很多次,但没有考虑count()。因为我假设count()将生成所有数据的count。非常好:)
SELECT vBookingNo, count(*) FROM `bookings` bo 
LEFT JOIN routes ro ON bo.iRouteId = ro.iRouteId 
LEFT JOIN buses bu ON bo.iBusId = bu.iBusId 
WHERE eBookingBy = 'User' AND iUserId = '2' 
group by vBookingNo