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

WBOY
Libérer: 2016-08-04 09:19:16
original
928 Les gens l'ont consulté

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

如下表:

<code>id       name          age          sex 
1          a            1            0
2          b            10           1          
3          c            2            1
</code>
Copier après la connexion
Copier après la connexion

得出:sex为1且age为2的数量,sex为1且age为5的数量,sex为1且age为10的数量
要求:效率高
可能我表达的不是很清楚,需要得出的是sex为1的情况下,有多少个是2岁,多少个是5岁,多少个是10岁这三个答案

注:最好是laravel框架语句,最好不要原生态语句,数据量有几十万至几百万条

各位大佬帮帮忙~

回复内容:

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

如下表:

<code>id       name          age          sex 
1          a            1            0
2          b            10           1          
3          c            2            1
</code>
Copier après la connexion
Copier après la connexion

得出: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();
不知道是不是就是楼主要的逻辑

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal