laravel: 1 つのステートメントのみを使用して、テーブル内のさまざまな条件に対応するデータ項目の数を見つける方法
下の表:
リーリー取得:セックスの回数が1で年齢が2、セックスの回数が1で年齢が5、セックスの回数が1で年齢が10
要件:高効率
あまり明確に表現できなかったかもしれません、それを取得する必要があります 答えは、セックスを1としたとき、2歳は何人、5歳は何人、10歳は何人です
注: オリジナルのステートメントではなく、Laravel フレームワークのステートメントを使用するのが最善です。データの量は数十万から数百万のアイテムに及ぶ可能性があります
みなさん、助けてください〜
laravel: 1 つのステートメントのみを使用して、テーブル内のさまざまな条件に対応するデータ項目の数を見つける方法
下の表:
リーリー取得:セックスの回数が1で年齢が2、セックスの回数が1で年齢が5、セックスの回数が1で年齢が10
要件:高効率
あまり明確に表現できなかったかもしれません、それを取得する必要があります 答えは、セックスを1としたとき、2歳は何人、5歳は何人、10歳は何人です
注: オリジナルのステートメントではなく、Laravel フレームワーク ステートメントを使用するのが最善です。データの量は数十万から数百万のアイテムに及ぶ可能性があります
みなさん、助けてください〜
この文を試してください Table::select(DB::raw('age,count(id) count'))->where('sex',1)->groupBy('age')->get()->toArray();
SQL についてはあまり詳しくありませんが、Eloquent ORM の代わりに Query Builder を使用すると効率が向上します。この ORM は非常に強力ですが、Laravel の中で最も遅い部分でもあります。
トピ主の要望ならDBの集計機能を使うことですDB::table('yourtable')->where('sex', 1)->where('age', $age)->count();
これが元投稿者のロジックなのかは分かりません