0

我想从 sqlite 的表中获取分组数据。例如,该表如下所示:

Name  Group  Price
a     1      10
b     1      9
c     1      10
d     2      11
e     2      10
f     3      12
g     3      10
h     1      11

现在我想获取按 Group 列分组的所有数据,每个组在一个数组中,即

array1 = {{a,1,10},{b,1,9},{c,1,10},{h,1,11}}; 
array2 = {{d,2,11},{e,2,10}}; 
array3 = {{f,3,12},{g,3,10}}.

因为我需要这些二维数组来填充分组表视图。sql 语句可能NSString *sql = @"SELECT * FROM table GROUP BY Group"; 但我想知道如何从结果集中获取数据。我正在使用 FMDB。

任何帮助表示赞赏。

4

2 回答 2

1

使用普通的 SELECT 语句从 sql 获取数据,按组和名称排序:

SELECT * FROM table ORDER BY group, name;

然后在代码中,构建你的数组,当组 id 改变时切换到填充下一个数组。

于 2013-04-19T13:54:01.397 回答
0

让我澄清一下 GroupBy。您可以对数据进行分组,但那时它需要对其他列进行分组功能。例如,表有学生列表,其中有性别组平均男性和女性组,因此我们可以按性别对这张表进行分组,这将返回两组。现在我们需要对结果列执行一些操作。例如每组的最高分或平均分

在您的情况下,您想要分组,但您需要在价格列上进行什么样的操作?例如,下面的查询将返回最高价格的组。

SELECT Group,MAX(Price) AS MaxPriceByEachGroup FROM TABLE GROUP BY(group)
于 2013-04-19T11:17:14.393 回答