현재 위치: > 최신 기사 목록> Laravel에서 Sum () 함수를 필터 및 합계 데이터를 사용하는 방법

Laravel에서 Sum () 함수를 필터 및 합계 데이터를 사용하는 방법

gitbox 2025-07-27

개요

Laravel 개발에서는 종종 데이터베이스의 열을 필터링하고 합산해야합니다. 다행히 Laravel 은이 요구 사항을 신속하게 달성하는 데 도움이되는 매우 간결한`sum ()`기능을 제공합니다.

sum () 함수를 사용하여 열을 합계하십시오

`sum ()`함수는 모든 데이터를 지정된 열에 합산하는 데 사용됩니다. 예를 들어, '주문'테이블에 'price'열을 합산하려면 다음 코드를 사용할 수 있습니다.

 
$totalPrice = DB::table('orders')->sum('price');

이 코드는 '주문'테이블의 모든 주문의 총 가격을 반환합니다.

특정 조건 하에서 열을 필터링하고 합계합니다

때로는 특정 조건에서 열을 합산하기 전에 열을 필터링해야 할 수도 있습니다. 예를 들어, 완료된 모든 주문의 총 가격을 계산하려면 다음 코드를 사용할 수 있습니다.

 
$totalPrice = DB::table('orders')
    ->where('status', '=', 'complete')
    ->sum('price');

이 코드는 '주문'테이블에서 완료된 모든 주문의 가격 합계를 반환합니다.

GroupBy () 함수를 사용하여 여러 조건에서 열을 합산합니다.

경우에 따라 여러 조건에서 열을 그룹화하고 각 그룹의 데이터를 합산해야 할 수도 있습니다. 예를 들어, 각 고객의 총 주문 가격을 계산하려면 다음 코드를 사용할 수 있습니다.

 
$orderTotals = DB::table('orders')
    ->select(DB::raw('customer_id, sum(price) as total_price'))
    ->groupBy('customer_id')
    ->get();

위의 코드는 각 요소에 고객 ID와 해당 고객의 총 주문 금액이 포함 된 배열을 반환합니다.

샘플 출력

위의 코드를 실행 한 후 반환 된 데이터는 다음과 같습니다.

 
Array
(
    [0] => stdClass
        (
            [customer_id] => 1
            [total_price] => 500
        )
    [1] => stdClass
        (
            [customer_id] => 2
            [total_price] => 750
        )
    [2] => stdClass
        (
            [customer_id] => 3
            [total_price] => 250
        )
)

요약

Laravel의`sum ()`함수를 사용하면 열을 쉽게 합할 수 있습니다. 또한,`where ()`함수와 결합하여 특정 조건 하에서 합산을 수행 할 수 있습니다. 그리고`groupby ()`함수를 통해 그룹화 후 합계 기능을 구현할 수 있습니다. 일반적으로 사용되는 데이터베이스 쿼리 기술을 마스터하면 개발 효율성을 크게 향상시킬 수 있습니다.