SQL按字段值排序

时间:2016-05-22 05:11:06

标签: mysql sql

我有下表。

enter image description here

我只想按meta_key订购,其值为LoginTS。它有点分散注意力。

ORDER BY meta_value( where meta_key is LoginTS ) DESC

对不起,如果不够清楚......

  

预期成果:   enter image description here

3 个答案:

答案 0 :(得分:2)

public function book(Request $request)
  {
    $name=$request->get('name');
    $contact=$request->get('contact');
    $check=$request->get('check');
    $checkarray = serialize($check);
    $totalcheckboxchecked=sizeof('$check'); 
for($i=0;$i<=$totalcheckboxchecked;$i++)
{
    if (array_key_exists($i,$check) )
{   
    $booked=$check[$i];

    seats::where('book',$booked)->update(['available'=>'0']);

}
$book=bus::insert(['name'=>$name,'contact'=>$contact, 'booked_seats'=>$checkarray, 'active'=>'1']);
}
        return redirect('/bus')
            ->with('message','booked successfully!!!');

}

<强> SQL FIDDLE DEMO 1

如果您想要返回所有表但是要返回ORDER BY特定列,请尝试以下方法:

SELECT * 
FROM   mytable 
WHERE `meta_key`= 'LoginTS' 
ORDER  BY `meta_value` DESC 

SQL FIDDLE DEMO 2

答案 1 :(得分:0)

应该在ORDER BY之前放置,试试这个:

WHERE meta_key = 'LoginTS' ORDER BY meta_value DESC

答案 2 :(得分:0)

由于你想通过asc订购,你可以试试这样的东西

order by case when meta_key='LoginTS' then 0 else 1 end