こんにちは。
SQLite3の使い方を試しています。
例えば次のような問い合わせについて
select category, count(*) from goods group by category;
このように取り出したいのですが、
--------------
自転車 2
野球 4
(http://www.dbonline.jp/sqlite/function/index1.html)
項目とその項目ごとの数量を得る方法を教えたいただきたい。
よろしくお願いします。
procedure TForm1.SelectMember;
var sltb: TSQLiteTable;
begin
sltb := SLDB.GetTable('select category, count(*) from goods group by category');
while sltb.Row < sltb.RowCount do begin
Memo1.Lines.Add(sltb.FieldAsString(sltb.FieldIndex['category']));
Memo1.Lines.Add(inttostr(sltb.Count));//全数?が表示される
sltb.Next;
end;
end;
end;
試していませんが、
count(*)
の後ろに " AS cnt"
を付けて
Memo1.Lines.Add(sltb.FieldAsString(sltb.FieldIndex['cnt']));
とかすると、どうなりますか?
>とかすると、どうなりますか?
お蔭様でうまく取り出せました。
まだサンプルを動かしてみる程度の能力しかなく、
複雑な問い合わせ結果や関数の結果は如何するのかと、何日か考えていました。
SQLite3に用意されている関数は沢山あるのですが、教えていただいた応用で取り出せるのでしょうね。
igyさん、どうもありがとうございました。
ツイート | ![]() |