我想在其中創建 where 子句以在 laravel 中選擇 DB::raw 我有兩個表名為 biodata_wni 和人口統計,我想計算 biodata_wni 中的 collom akta_kwn 值為 1 的資料,但也計算 biodata_wni 中的 akta_kwn 值為 2
任何人都可以這樣嗎?
$kec= $request->kecamatan;
$aktakawin= DB::table('biodata_wnis')
->join('demographics', 'biodata_wnis.nik','=','demographics.nik')
->where('demographics.nama_kec','=',$kec)
->where('biodata_wnis.semester','=',$smstr)
->select(
DB::raw("count(biodata_wnis.akta_kwn) WHERE biodata_wnis.akta_kwn = 1 as jml_lk"),
DB::raw("count(biodata_wnis.akta_kwn) WHERE biodata_wnis.akta_kwn = 2 as jml_pr")
, 'demographics.nama_kel')
->groupBy('demographics.nama_kel as name')
->get();
我想做這樣的結果
Illuminate\Support\Collection {#1321 ▼
#items: array:5 [?
0 => {#1329 ?
"jml_lk": 21
"jml_pr": 1
"name": "CARANGSARI"
}
1 => {#1323 ?
"jml_lk": 21
"jml_pr": 1
"name": "CESTSA"
}
uj5u.com熱心網友回復:
它的 SQL 語法是問題所在,您沒有WHERE適用于count.
你可以做的是:
->select(
DB::raw("sum(biodata_wnis.akta_kwn = 1) as jml_lk"),
DB::raw("sum(biodata_wnis.akta_kwn = 2) as jml_pr")
有biodata_wnis.akta_kwn = 1一個 0 或 1 運算式,這取決于它是否為真。sum將它們加起來會導致該特定專案的計數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/422355.html
標籤:
上一篇:無法過濾多個類別或單個
