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 列でグループ化されたすべてのデータを取得したい。各グループは 1 つの配列に含まれる。

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を使用しています。

どんな助けでも大歓迎です。

4

2 に答える 2

1

グループと名前で並べ替えられた通常の SELECT ステートメントを使用して、SQL からデータを取得します。

SELECT * FROM table ORDER BY group, name;

次に、コードで配列を作成し、グループ ID が変更されたときに次の配列を埋めるように切り替えます。

于 2013-04-19T13:54:01.397 に答える
0

GroupBy について明確にさせてください。データをグループ化できますが、そのときは他の列でグループ機能が必要です。たとえば、テーブルには性別グループ平均男性と女性グループがある学生のリストがあるため、このテーブルを性別でグループ化し、2 セットを返すことができます。ここで、結果列に対して何らかの操作を実行する必要があります。例: 各グループの最高点または平均点

あなたの場合、グループ化したいのですが、価格列でどのような操作が必要ですか? たとえば、以下のクエリは最大価格のグループを返します。

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