我想从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
现在我希望获取按组列分组的所有数据,每个组在一个数组中,即
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}}.
因为我需要这些2维数组来填充分组表视图。 sql语句可能是NSString *sql = @"SELECT * FROM table GROUP BY Group";
但是我想知道如何从结果集中获取数据。我正在使用FMDB。
感谢任何帮助。
答案 0 :(得分:1)
使用普通的SELECT语句从sql获取数据,按组和名称排序:
SELECT * FROM table ORDER BY group, name;
然后在代码中,构建数组,切换到在组ID更改时填充下一个数组。
答案 1 :(得分:0)
让我清楚一下GroupBy。您可以对数据进行分组,但该时间需要组功能在其他列上。 例如表中列出了有性别组平均分的男生和女生。女性组,所以我们可以按性别分组这个表,它将返回两组。现在我们需要对结果列执行一些操作。 例如每组的最大标记或平均标记
在您的情况下,您想要分组,但在价格列上需要什么样的操作? 例如以下查询将返回具有最高价格的组。
SELECT Group,MAX(Price) AS MaxPriceByEachGroup FROM TABLE GROUP BY(group)