Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Sql 用于为组返回具有额外行的元素的查询_Sql_Sqlite - Fatal编程技术网

Sql 用于为组返回具有额外行的元素的查询

Sql 用于为组返回具有额外行的元素的查询,sql,sqlite,Sql,Sqlite,我有一个SQLite数据库,它存储了带有类别的项目列表。类别是隐式的,它们没有单独的表。我想要一个查询,它将返回按类别排序的所有项目,每个类别有一个额外的行 考虑以下场景: ID Name Category 1 Item 1 C1 2 Item 2 C2 3 Item 3 C1 我预期的结果是: ID Name Category null null C1 1 Item 1 C1 3

我有一个SQLite数据库,它存储了带有类别的项目列表。类别是隐式的,它们没有单独的表。我想要一个查询,它将返回按类别排序的所有项目,每个类别有一个额外的行

考虑以下场景:

ID    Name       Category
1     Item 1     C1
2     Item 2     C2
3     Item 3     C1
我预期的结果是:

ID    Name       Category
null  null       C1
1     Item 1     C1
3     Item 3     C1
null  null       C2
2     Item 2     C2
这将直接映射到显示结果的列表视图,其中每个类别包含一个额外的分隔符项。我现在要做的是返回按类别排序的所有元素,并遍历所有元素,以知道分隔符应该位于何处


我已经尝试了许多不同的
JOIN
s,但是我的sqlfu很弱,我不知道如何编写这样的查询。我该怎么做呢?哪些SQL构造允许我添加这些额外的行?甚至可以在单个查询中以我需要的方式获得结果吗?无论查询有多复杂?

考虑一个
联合体

select  ID    
,       Name
,       Category
union all
select  distinct null
,       null
,       Category
order by 
        Category

orderby
适用于整个联合体——无需子查询。

谢谢!注意,为了得到我需要的结果,必须以相反的顺序进行。