본문 바로가기
MySql

MySQL Laravel Sum 열 데이터베이스 Eloquent

by 베이스 공부 2020. 10. 27.
반응형

내 테이블 중 하나에서 int 필드의 합계를 얻으려고 시도하는 것은 매우 쉬울 것입니다. 불행히도 Laravel, MySQL 또는 Excel을 사용하든 다른 결과를 얻는 것은 아닙니다.

Laravel 5.4는 20506 을 제공합니다.

Table::sum('field_name');

MySQL은 1830 을 제공합니다.

Select sum(field_name) from table;

그리고 데이터베이스로 가져 오기 전에 Excel 시트의 데이터 : Sum은 145689 를 제공합니다.

어떤 생각? 합계를 수행하기 전에 정수로 캐스팅하려고 시도했지만 작동하지 않습니다. 모든 숫자는 꽤 크지 만 쉼표 나 점을 포함하지 않습니다.

합계해야하는 값의 예 : (때로는 빈 셀 포함)

17906774
99630157
28581131

159551532
20312892
668928885

 

해결 방법

 

$query = YourModel::query();
$query->withCount([
'activity AS yoursum' => function ($query) {
        $query->select(DB::raw("SUM(amount_total) as paidsum"))->where('status', 'paid');
    }
]);

 

참조 페이지 https://stackoverflow.com/questions/42571650

 

 

반응형

댓글