FC2ブログ

SQLite のデータ集計

SQLite のデータ集計

#12 データを集計してみよう
http://dotinstall.com/lessons/basic_sqlite/6412
を参考に、データ集計に使う関数を学習

すでに作成してある user テーブルに
team test
というカラムを追加したいので
alter table user add column team text;
として
alter table テーブル名 add column カラム名;
としてカラムを追加できる

あとは、追加したカラムに値を追加する

データ追加は insert を使う
しかし、
insert into user(team text) values('A');
とすると
Error: near "text": syntax error
となるので、別のテーブルを作成し、データを追加

create table data(name,score,team_text);
でテーブルを作成し
insert into data(name,score,team_text) values('taguchi',200,'A');
insert into data(name,score,team_text) values('sasaki',100,'B');
insert into data(name,score,team_text) values('hiroshi',400,'C');
insert into data(name,score,team_text) values('hiyano',500,'A');
insert into data(name,score,team_text) values('tomonaga',400,'B');

でデータ挿入
確認のため
select * from data;
で中身を確認

taguchi|200|A
sasaki|100|B
hiroshi|400|C
hiyano|500|A
tomonaga|400|B

これで準備はOK

これで実践開
select distinct とすると、ユニークな値を抽出する
select distinct team_text from data;
とすると、team_text の中から
A
B
C
というように、チームをわけて出力することができる
つまり、被らないように出力する
使い道としては識別するときに使う

次にグループごとのデータの集計
集計には Excel とおなじように
sum() で行うことができる
また、グループわけして行いたいのなら
group by
を使う

今回は
select team_text ,sum(score) from data group by team_text;
内容は
select team_text ,sum(score) from data

data テーブルにある
team_text の score の値を合計する

group by team_text;
で、team_text ごとに
という意味

group by は
~ごとに
というかんじで覚えるとわかりやすい

もともとのデータが
taguchi|200|A
sasaki|100|B
hiroshi|400|C
hiyano|500|A
tomonaga|400|B

なので、
select team_text ,sum(score) from data group by team_text;
でチームごとの合計点にすると
A|700
B|500
C|400
となる

ゲームや、成績表など、いろいろと用途はあるので
覚えておくと便利
スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック