如何使用按条件排序
How use order by condition
是否可以按条件对数据进行排序?
例如,打个比方,.order( "expiration_date <?", Time.current, :desc )
ORDER BY 关键字用于按一列或多列对结果集进行排序。
ORDER BY 关键字默认按升序对记录进行排序。要按降序对记录进行排序,可以使用 DESC 关键字。
您可以使用类似 :-
的方式进行排序
sorted = @records.sort_by &:created_at
或尝试 where 首先获取结果集然后对其进行排序:-
@records.where( "expiration_date <?", Time.current).order( :created_at, :desc )
而且你可以轻松分页;-
@records.paginate(:page => params[:page], :per_page => 15)#.order(" created_at ASC")
是否可以按条件对数据进行排序?
例如,打个比方,.order( "expiration_date <?", Time.current, :desc )
ORDER BY 关键字用于按一列或多列对结果集进行排序。 ORDER BY 关键字默认按升序对记录进行排序。要按降序对记录进行排序,可以使用 DESC 关键字。
您可以使用类似 :-
的方式进行排序sorted = @records.sort_by &:created_at
或尝试 where 首先获取结果集然后对其进行排序:-
@records.where( "expiration_date <?", Time.current).order( :created_at, :desc )
而且你可以轻松分页;-
@records.paginate(:page => params[:page], :per_page => 15)#.order(" created_at ASC")