您好,欢迎访问一九零五行业门户网

laravel:只用一条语句,如何查出一个表里,不同条件对应的数据条数

laravel:只用一条语句,如何查出一个表里,不同条件对应的数据条数
如下表:
id name age sex 1 a 1 02 b 10 1 3 c 2 1

得出:sex为1且age为2的数量,sex为1且age为5的数量,sex为1且age为10的数量
要求:效率高
可能我表达的不是很清楚,需要得出的是sex为1的情况下,有多少个是2岁,多少个是5岁,多少个是10岁这三个答案
注:最好是laravel框架语句,最好不要原生态语句,数据量有几十万至几百万条
各位大佬帮帮忙~
回复内容: laravel:只用一条语句,如何查出一个表里,不同条件对应的数据条数
如下表:
id name age sex 1 a 1 02 b 10 1 3 c 2 1

得出:sex为1且age为2的数量,sex为1且age为5的数量,sex为1且age为10的数量
要求:效率高
可能我表达的不是很清楚,需要得出的是sex为1的情况下,有多少个是2岁,多少个是5岁,多少个是10岁这三个答案
注:最好是laravel框架语句,最好不要原生态语句,数据量有几十万至几百万条
各位大佬帮帮忙~
试试这句
table::select(db::raw('age,count(id) count'))->where('sex',1)->groupby('age')->get()->toarray();
sql不是太懂,但用query builder代替eloquent orm就可以提高效率,这个orm虽然非常强大,但也是laravel最慢的地方。
如果是题主的要求的话就是使用db的聚合功能
db::table('yourtable')->where('sex', 1)->where('age', $age)->count();
不知道是不是就是楼主要的逻辑
其它类似信息

推荐信息