0

我有一个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,但是我的SQL-fu很弱,我无法弄清楚如何编写这样的查询。我该怎么做呢?哪些SQL结构可以让我添加这些额外的行?是否有可能以我需要的方式在单个查询中获得结果- 无论多么复杂 -查询?

4

1 回答 1

1

考虑一个union

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

Anorder by适用于整个联合——不需要子查询。

于 2012-06-06T16:16:11.120 回答