我有一个如下表。
Route::get('/post/{id}', function(Request $request, $id){
$posts = User::join('posts','posts.user_id','=','users.id')
->where('id', $id)->get();
return view('posts')->with('posts', $posts);
});
操作:
Select name from t1;
想像下面的操作
name
----
A
D
X
Z
不使用联合运算符 应该是一个查询
答案 0 :(得分:1)
仅针对那些值:
SELECT name FROM t1
ORDER BY
case name when 'X' then 0 else 1 end,
name
X是唯一一个不按字母顺序排列的字母,因此,如果我们使用一种情况将0分配给该字母,将1分配给其他所有字母,然后按0/1进行排序,那么最后将得到X依次排序和所有内容else并列于1。通过在CASE上进行排序
您还可以使用其他一些类似的技巧来进行解码,例如,为所有内容赋予一个值(如gmb一样),将X替换为null并先对NULLS进行排序,然后将X替换为将在A之前进行排序(例如0)。
答案 1 :(得分:0)
您是否需要像这样的固定条件排序?
select name
from t1
order by
case name
when 'X' then 1
when 'A' then 2
when 'D' then 3
when 'Z' then 4
else 5
end,
name