我希望在Knex中基本上进行这种查询,但我无法让它工作:
select distinct *
from
(
select *, 1 as rank from table1 where Word like 'mike'
union
select *, 2 as rank from table1 where Word like 'mike%'
union
select *, 3 as rank from table1 where Word like '%mike%'
) as X
order by WordOrder
Run Code Online (Sandbox Code Playgroud)
我在这里注意到了一个类似的问题,并尝试按照他们的建议,但似乎无法发现我的错误(或者如果这首先是这样做的正确方法).
var q = DB.knex('Users').select("*", "1 as rank").where("User", "like", query).
union(function() {
this.select("*", "2 as rank").where("User", "like", query + "%")
}).
union(function() {
this.select("*", "3 as rank").where("User", "like", query …Run Code Online (Sandbox Code Playgroud) knex.js ×1