我是Laravel的新手。我对Laravel选择查询有疑问。我在这里解释我的要求。
我想选择学校所有学生的总分。但我必须按特定顺序获得学生的分数。在其他批次的标记之上和之后的标记为5A批次。所有批次的标记以随机方式存储在表“total_marks”中。此表的列为“student_name”,“batch”,“total_marks”
请帮助我获取针对这种情况的选择查询。
答案 0 :(得分:0)
普通的mysql查询看起来像
select *
from table
order by case
when batch = '5A'
then 0
else 1
end, total_marks desc
或者
select *
from table
order by batch = '5A' desc, total_marks desc
在laravel我猜它可以写成
DB::table('yourtable')
->orderByRaw("case when batch = '5A' then 0 else 1 end, total_marks desc")
->get();
或
DB::table('yourtable')
->orderByRaw("batch = '5A' desc, total_marks desc")
->get()