Php MySql-如何使用GROUPBY计算查询的计数(*)?

Php MySql-如何使用GROUPBY计算查询的计数(*)?,php,mysql,sql,laravel,Php,Mysql,Sql,Laravel,我有一个疑问: select sellers.* from sellers left join locations on locations.seller_id = sellers.id group by sellers.id limit 0, 10; 假设第一个查询给了我10个结果,其中有一个GROUPBY,15个结果没有GROUPBY 现在我想计算分页的所有结果计数 select count(*) from ... 我试过这个: select count(

我有一个疑问:

select sellers.* from sellers
    left join locations
    on locations.seller_id = sellers.id
    group by sellers.id
    limit 0, 10;
假设第一个查询给了我10个结果,其中有一个GROUPBY,15个结果没有GROUPBY

现在我想计算分页的所有结果计数

select count(*) from ...
我试过这个:

select count(*) from sellers
    left join locations
    on locations.seller_id = sellers.id
    //group by sellers.id;
1.WITH group by sellers.id我得到10个值为1的结果,应该是一个值为10的结果

2.没有卖家分组。id我得到一个值为15的结果,应该是一个值为10的结果


有什么想法吗?

我不同意你的询问,但你只是想知道卖家的数量。最简单的方法是:

select count(*)
from sellers;

我不同意你的询问,但你只是想知道卖家的数量。最简单的方法是:

select count(*)
from sellers;

这应该适合您:


从SelectSellers.id中选择count*from sellers left join locations on locations.sellers\u id=sellers.id作为一个

这应该适合您:

从SelectSellers.id中选择count*from sellers left join locations on locations.sellers\u id=sellers.id作为一个

您可以将SELECT查询放入SELECT COUNT*查询中,方法如下:

SELECT count(*) FROM (select sellers.* from sellers
    left join locations
    on locations.seller_id = sellers.id
    group by sellers.id) sellers;
您可以将SELECT查询放入SELECT COUNT*查询中,方法如下:

SELECT count(*) FROM (select sellers.* from sellers
    left join locations
    on locations.seller_id = sellers.id
    group by sellers.id) sellers;


您的第一个查询是无效的SQL,尽管MySQL由于一个错误特性而接受它。选择*和分组方式是没有意义的。您丢失了FROM@GordonLinoff你说得对,我更改了查询。但这不是问题…@fico7489。这仍然是一个问题。select中的空列既不是按键分组的,也不是聚合的。那么使用PHP如何?您的第一个查询是无效的SQL,尽管MySQL由于一个错误特性而接受它。选择*和分组方式是没有意义的。您丢失了FROM@GordonLinoff你说得对,我更改了查询。但这不是问题…@fico7489。这仍然是一个问题。您在select中有裸列,这些列既不是按键分组也不是聚合的。使用PHP如何?感谢您的回答,这应该适用于左连接,而不是普通连接,但是我正在寻找现有联接的解决方案…而且如果我有更多关于联接的条款,它将不起作用:on locations.seller\u id=sellers.id和locations.is\u primary=1@fico7489 . . . 您只剩下join了。如果你还有其他问题,你应该把它作为一个问题而不是在评论中提问。真的吗??!?如果我用左连接作为唯一的区别创建相同的问题,管理员会怎么说???谢谢你的回答,这应该适用于左连接而不是正常连接,但是我正在寻找现有联接的解决方案…而且如果我有更多关于联接的条款,它将不起作用:on locations.seller\u id=sellers.id和locations.is\u primary=1@fico7489 . . . 您只剩下join了。如果你还有其他问题,你应该把它作为一个问题而不是在评论中提问。真的吗??!?如果我用左连接作为唯一的区别创建相同的问题,管理员会怎么说?是的,应该可以,虽然我正在寻找在初始查询中只更改select和group by parts的解决方案,但我认为这是不可能的…是的,应该可以,虽然我在寻找只在初始查询中更改“按部件选择和分组”的解决方案,但我认为这是不可能的……是的,这应该可行,尽管我在寻找只在初始查询中更改“按部件选择和分组”的解决方案,但是我想这是不可能的…是的,这应该是可行的,尽管我正在寻找一种解决方案,在初始查询中只更改select和group by parts,但我想这是不可能的。。。