laravel:只用一條語句,如何查出一個表裡,不同條件對應的資料條數
如下表:
<code>id name age sex 1 a 1 0 2 b 10 1 3 c 2 1 </code>
得出: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>
得出: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( );
不知道是不是就是樓主要的邏輯