laravel: So ermitteln Sie mit nur einer Anweisung die Anzahl der Datenelemente, die verschiedenen Bedingungen in einer Tabelle entsprechen

WBOY
Freigeben: 2016-08-04 09:19:16
Original
916 Leute haben es durchsucht

Laravel: So ermitteln Sie mit nur einer Anweisung die Anzahl der Datenelemente, die verschiedenen Bedingungen in einer Tabelle entsprechen

Die folgende Tabelle:

<code>id       name          age          sex 
1          a            1            0
2          b            10           1          
3          c            2            1
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Erhalten Sie: Die Anzahl der Geschlechter ist 1 und das Alter ist 2, die Anzahl der Geschlechter ist 1 und das Alter ist 5, die Anzahl der Geschlechter ist 1 und das Alter ist 10
Anforderung: hohe Effizienz
Vielleicht was ich ausgedrückt ist das nicht Es ist sehr klar, dass das, was erreicht werden muss, wenn das Geschlecht 1 ist, wie viele 2 Jahre alt sind, wie viele 5 Jahre alt sind und wie viele 10 Jahre alt sind

Hinweis: Es ist am besten, Laravel-Framework-Anweisungen zu verwenden, vorzugsweise keine Originalanweisungen. Die Datenmenge beträgt Hunderttausende bis Millionen

Helft mir, Leute~

Antwortinhalt:

Laravel: So ermitteln Sie mit nur einer Anweisung die Anzahl der Datenelemente, die verschiedenen Bedingungen in einer Tabelle entsprechen

Die folgende Tabelle:

<code>id       name          age          sex 
1          a            1            0
2          b            10           1          
3          c            2            1
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Erhalten Sie: Die Anzahl der Geschlechter ist 1 und das Alter ist 2, die Anzahl der Geschlechter ist 1 und das Alter ist 5, die Anzahl der Geschlechter ist 1 und das Alter ist 10
Anforderung: hohe Effizienz
Vielleicht was ich ausgedrückt ist das nicht Es ist sehr klar, dass das, was erreicht werden muss, wenn das Geschlecht 1 ist, wie viele 2 Jahre alt sind, wie viele 5 Jahre alt sind und wie viele 10 Jahre alt sind

Hinweis: Es ist am besten, Laravel-Framework-Anweisungen und keine Originalanweisungen zu verwenden. Die Datenmenge beträgt Hunderttausende bis Millionen

Helft mir, Leute~

Probieren Sie diesen Satz
Table::select(DB::raw('age,count(id) count'))->where('sex',1)->groupBy('age')->get()->toArray();

Ich weiß nicht viel über SQL, aber die Verwendung von Query Builder anstelle von Eloquent ORM kann die Effizienz verbessern. Obwohl dieses ORM sehr leistungsfähig ist, ist es auch der langsamste Teil von Laravel.

Wenn es sich um eine Anfrage des Themeneigentümers handelt, soll die Aggregationsfunktion von DB verwendet werden
DB::table('yourtable')->where('sex', 1)->where('age', $age)->count();
Ich weiß nicht, ob dies die ursprüngliche Logik des Posters ist

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!