我怎样才能获得前4个最高值?

时间:2017-07-27 06:37:09

标签: php mysql sql laravel

我想找到排名前5位的学生最详细的课程。为了得到我使用以下查询。但问题是,如果学生attendance_count7 9 12 15 1 109 10 12 15虽然应该返回9 7 15 12,但会返回(attendance_count) $students = DB::table('students') ->select('students.*') ->orderBy('students.attendance_count', 'desc') ->limit(4) ->where('students.status','=','1') ->get(); 个学生详细信息。我该如何解决这个问题呢?

XMD5

3 个答案:

答案 0 :(得分:0)

您可以像这样实现数字转换

->orderBy('students.attendance_count+0', 'desc')

答案 1 :(得分:0)

请确保整数list.refresh() 的列类型并写下这样的查询

students.attendance_count

$students = DB::table('students') ->select('students.*') ->where('students.status','=','1') ->orderBy('students.attendance_count', 'desc') ->limit(4) ->get(); 条件之后编写orderBylimit很方便。

答案 2 :(得分:-1)

应该在where子句之后和限制条款之前使用order by来解决你的问题

select student.*
from students
where status=1
order by attendence desc
limit 4;