我有一张包含以下数据的表格
id name category_id
1 A 1
2 B 1
3 C 2
4 D 2
我已完成以下查询
DB::table('tablename')
->select('id')
->orderBy('id', 'desc')
->groupBy('category_id')
->get();
返回id 3和1,但我需要id 4和2 ......
请帮我找到解决方案
由于
答案 0 :(得分:3)
使用以下code.hope,它将适合您。
DB::select( DB::raw('SELECT * FROM ( SELECT * FROM tablename ORDER BY tablename.id DESC ) t group by t.category_id order by t.id desc));
答案 1 :(得分:0)
我不知道Laravel
,但以下SQL查询可能会对您有所帮助。
select max(id) from table_name
group by category_id
order by id desc
将其转换为Laravel
语法并使用。
答案 2 :(得分:0)
您需要selectRaw
:
DB::table('tablename')
->selectRaw('max(id)')
->orderBy('id', 'desc')
->groupBy('category_id')
->get();