Laravel: 하나의 문만 사용하여 테이블에서 다양한 조건에 해당하는 데이터 항목 수를 찾는 방법
다음 표:
<code>id name age sex 1 a 1 0 2 b 10 1 3 c 2 1 </code>
얻기: 성별 수는 1, 나이는 2, 성별 수는 1, 나이는 5, 성별 수는 1, 나이는 10
요구 사항: 고효율
어쩌면 내가 성별이 1일 때, 2세는 몇 명, 5세는 몇 명, 10세는 몇 명을 얻어야 하는지 매우 명확합니다.
참고: 원본 명령문이 아닌 Laravel 프레임워크 명령문을 사용하는 것이 가장 좋습니다. 데이터 양은 수십만에서 수백만입니다.
모두들 도와주세요~
Laravel: 하나의 문만 사용하여 테이블에서 다양한 조건에 해당하는 데이터 항목 수를 찾는 방법
다음 표:
<code>id name age sex 1 a 1 0 2 b 10 1 3 c 2 1 </code>
얻기: 성별 수는 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();
이게 포스터의 원래 논리인지는 모르겠습니다