[英]Laravel orderby with groupby sql
嗨,我正在嘗試與orderby和groupby一起查詢,並提出了這個解決方案,這是正常工作是我的查詢
SELECT p1.year_id,p1.tbl_wsp_master_id ,tbl_wsp_masters.WSP_Name
FROM tbl_wsp_years p1
INNER JOIN
(
SELECT max(year_id) MaxPostDate,tbl_wsp_master_id
FROM tbl_wsp_years
GROUP BY tbl_wsp_master_id
) p2
ON p1.tbl_wsp_master_id = p2.tbl_wsp_master_id
AND p1.year_id = p2.MaxPostDate
INNER JOIN tbl_wsp_masters
ON tbl_wsp_masters.id = p1.tbl_wsp_master_id
order by p1.year_id desc
但是我如何在Laravel Eloquent中做到這一點。
謝謝你的任何建議
我這樣解決了謝謝
DB::table('tbl_wsp_years as y1')
->join('tbl_wsp_masters', 'tbl_wsp_masters.id', '=', 'y1.tbl_wsp_master_id')
->select('tbl_wsp_masters.WSP_Name AS WSP_Name', 'y2.*')
->join(DB::raw('(SELECT MAX(year_id) MaxYear, tbl_wsp_master_id FROM tbl_wsp_years GROUP BY tbl_wsp_master_id) y2'),
function($join)
{
$join->on('y1.tbl_wsp_master_id', '=', 'y2.tbl_wsp_master_id');
$join->on('y1.year_id','=','y2.MaxYear');
})
->orderBy('y1.year_id', 'DESC')
->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.