我想找到排名前5位的学生最详细的课程。为了得到我使用以下查询。但问题是,如果学生attendance_count
有7 9 12 15 1 10
,9 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
答案 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();
条件之后编写orderBy
和limit
很方便。
答案 2 :(得分:-1)
应该在where子句之后和限制条款之前使用order by来解决你的问题
select student.*
from students
where status=1
order by attendence desc
limit 4;