如何将两个查询合并为一个?

Sri*_*lla 1 sql sqlite select android

这是针对 Android SQLite 的。我有两个这样的查询:

select * from table where name='name';
Run Code Online (Sandbox Code Playgroud)

select * from table where name!='name' order by name;
Run Code Online (Sandbox Code Playgroud)

我想创建一个结合这两个查询的语句。我尝试了全部联合,但无法按一条语句进行排序然后合并。我试过这个:

select * from table where name='name'
union all
select * from table where name!='name' order by name;
Run Code Online (Sandbox Code Playgroud)

它所做的只是组合查询,然后按名称排序。我不想要这样。我想先对第二个语句进行排序,然后将它们组合起来。

为了以不同的方式提出问题,这是我的数据:

Name

a
b
c
d
e
f
g
h
i
j
Run Code Online (Sandbox Code Playgroud)

但我希望输出是:

Name

g
a
b
c
d
e
f
h
i
j
Run Code Online (Sandbox Code Playgroud)

我想将一行放在顶部,然后对其余行进行排序。任何帮助表示赞赏。

Jho*_*nny 5

无需使用临时表,您需要添加额外的列进行排序。像这样的东西:

select 1, * from table where name='name'
union all
select 2, * from table where name!='name' 
order by 1, name;
Run Code Online (Sandbox Code Playgroud)

我现在还没有安装 sqlite,但这个技巧应该有效。(您可能必须向第一列添加别名)。