Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite 将随机结果与Where条件连接起来_Sqlite_Union - Fatal编程技术网

Sqlite 将随机结果与Where条件连接起来

Sqlite 将随机结果与Where条件连接起来,sqlite,union,Sqlite,Union,我想连接来自同一个表的两个Select查询的结果 我的桌子: CREATE TABLE "books" ( "id" INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, "book_title" TEXT UNIQUE, "Book_desc" TEXT, "category" TEXT) 第一个查询:Select*fromsbooks,其中id=2

我想连接来自同一个表的两个Select查询的结果

我的桌子:

CREATE TABLE "books" (
"id"    INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
"book_title"    TEXT UNIQUE,
"Book_desc" TEXT,
"category"  TEXT)
第一个查询:
Select*fromsbooks,其中id=2

第二个查询:
Select*from books where id!=2按随机顺序()限制3

我希望id=3是结果中的第一行,我尝试了很多联合查询,但都没有成功

以下是我迄今为止所做的:


第二个查询是获取50个随机行,其中没有
id=100的行

select *
from (select * from table1 where id <> 100  order by random() limit 50) 

这些查询本身的行为是否如预期的那样?输出中是否可以有另一个值,例如第一个查询为1,第二个查询的所有内容都为2?或者你想隐藏后台的魔力吗?是的,这两个查询工作得很好,如果中间变量隐藏在输出中,效果会更好。你是否设法将它们合并(当然没有所需的顺序)?请显示该查询。另外,为了完成你的任务,请显示几行代码< >创建表…<代码> >代码>插入……/代码>为解决方案提供基础。好的,我将用比我的想法更好的细节来编辑我的问题,这甚至会增加不希望的值。
select *
from (
  select * from table1 where id = 100
  union all
  select *
  from (select * from table1 where id <> 100  order by random() limit 50) 
)
order by id = 100 desc