「php04」の編集履歴(バックアップ)一覧はこちら

php04」(2012/01/21 (土) 18:19:03) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

[[前のページ>php03]] < | > [[次のページ>php05]] *(8) SQLの計算、集計、グループ化 ・下記にサンプルデータを記す。これを用いて集計等を行った。 #region(close,←クリックで開く) create table test2 ( id int(11) not null auto_increment, name varchar(50) not null, sex varchar(5) not null, japanese int, math int, english int, primary key (id) ); insert into test (id, name, sex, japanese, math, english) values (1, '山田太郎', '男', 62, 73, 59); insert into test (id, name, sex, japanese, math, english) values (2, '田中哲夫', '男', 48, 55, 46); insert into test (id, name, sex, japanese, math, english) values (3, '鈴木康子', '女', 83, 62, 74); insert into test (id, name, sex, japanese, math, english) values (4, '高橋康弘', '男', 69, 84, 77); insert into test (id, name, sex, japanese, math, english) values (5, '斉藤若菜', '女', 72, 59, 83); insert into test (id, name, sex, japanese, math, english) values (6, '山本隆', '男', 43, 51, 60); insert into test (id, name, sex, japanese, math, english) values (7, '川上哲子', '女', 65, 54, 59); insert into test (id, name, sex, japanese, math, english) values (8, '小林加奈', '女', 71, 59, 75); insert into test (id, name, sex, japanese, math, english) values (9, '杉山和彦', '男', 82, 77, 85); insert into test (id, name, sex, japanese, math, english) values (10, '近藤雅美', '女', 59, 61, 68); #endregion ・フィールドの値同士を計算する > select name, sex, japanese, math, english, japanese + math + english > from test ・結果 #image(keisan.gif,center) ・計算結果にネーミングする。 ・・asを使って、先ほどの長いフィールド名が「sum」に表記される。 > select name, sex, japanese, math, english, japanese + math + english > as sum from test **関数を使う ・&bold(){concat(); 結合関数} > select concat(id,'番 ',name,'さん') from test; ・&bold(){count(); カウント関数} レコードの件数を数える > select count(id) from test where sex = '男' ・結果 5 ・右から2文字を取り出す:&bold(){right関数} > select right(bang,2) from tb1; ・左から2文字を取り出す:&bold(){left関数} > select left(bang,2) from tb1; ・~文字目から△文字取り出す:&bold(){substring関数} > select substring(bang,~,△) from tb1; ・繰り返して表示:&bold(){repeat関数} > select repeat('-',tosi) from tb1; ・逆さから表示:&bold(){reverse関数} > select reverse(nama) from tb1; ・今の時刻を入れる:&bold(){now関数} > create table ima (a INT AUTO_INCREMENT PRIMARY KEY ,b DATETIME); > insert into ima (b) values(NOW()); ・&bold(){各種集計関数} |BGCOLOR(#e4ccff):&bold(){関数と表記}|BGCOLOR(#e4ccff):&bold(){内容}| |sum(フィールド名)|合計を求める| |avg(フィールド名)|平均を求める| |max(フィールド名)|最高値を求める| |min(フィールド名)|最低値を求める| ・japaneseフィールドの平均点(javg)、最低点(jmin)、最高点(jmax) > select avg(japanese) as javg, min(japanese) as jmin, > max(japanese) as jmax from test ・レコードをグループ分けして集計する > select フィールド名または関数の式 from テーブル名 where 条件式 > group by グループ化に使うフィールド名 order by 並べ替えに使うフィールド名 ・レコードをグループ分けして平均点、最低点、最高点を求める > select sex, avg(japanese) as javg, min(japanese) as jmin, > max(japanese) as jmax from test group by sex ・結果 #image(keisan2.gif,center) ※ XAMPP 1.7.7 [PHP: 5.3.8] での設定項目です。 ---- #center(){[[前のページ>php03]] < | > [[次のページ>php05]]} #center(){◆ ◆ ◆} ----
[[前のページ>php03]] < | > [[次のページ>php05]] *(8) SQLの計算、集計、グループ化 ・下記にサンプルデータを記す。これを用いて集計等を行った。 #region(close,←クリックで開く) create table test2 ( id int(11) not null auto_increment, name varchar(50) not null, sex varchar(5) not null, japanese int, math int, english int, primary key (id) ); insert into test (id, name, sex, japanese, math, english) values (1, '山田太郎', '男', 62, 73, 59); insert into test (id, name, sex, japanese, math, english) values (2, '田中哲夫', '男', 48, 55, 46); insert into test (id, name, sex, japanese, math, english) values (3, '鈴木康子', '女', 83, 62, 74); insert into test (id, name, sex, japanese, math, english) values (4, '高橋康弘', '男', 69, 84, 77); insert into test (id, name, sex, japanese, math, english) values (5, '斉藤若菜', '女', 72, 59, 83); insert into test (id, name, sex, japanese, math, english) values (6, '山本隆', '男', 43, 51, 60); insert into test (id, name, sex, japanese, math, english) values (7, '川上哲子', '女', 65, 54, 59); insert into test (id, name, sex, japanese, math, english) values (8, '小林加奈', '女', 71, 59, 75); insert into test (id, name, sex, japanese, math, english) values (9, '杉山和彦', '男', 82, 77, 85); insert into test (id, name, sex, japanese, math, english) values (10, '近藤雅美', '女', 59, 61, 68); #endregion ・フィールドの値同士を計算する > select name, sex, japanese, math, english, japanese + math + english > from test ・結果 #image(keisan.gif,center) ・計算結果にネーミングする。 ・・asを使って、先ほどの長いフィールド名が「sum」に表記される。 > select name, sex, japanese, math, english, japanese + math + english > as sum from test **関数を使う ・&bold(){concat(); 結合関数} > select concat(id,'番 ',name,'さん') from test; ・&bold(){count(); カウント関数} レコードの件数を数える > select count(id) from test where sex = '男' ・結果 5 ・右から2文字を取り出す:&bold(){right関数} > select right(bang,2) from tb1; ・左から2文字を取り出す:&bold(){left関数} > select left(bang,2) from tb1; ・~文字目から△文字取り出す:&bold(){substring関数} > select substring(bang,~,△) from tb1; ・繰り返して表示:&bold(){repeat関数} > select repeat('-',tosi) from tb1; ・逆さから表示:&bold(){reverse関数} > select reverse(nama) from tb1; ・今の時刻を入れる:&bold(){now関数} > create table ima (a INT AUTO_INCREMENT PRIMARY KEY ,b DATETIME); > insert into ima (b) values(NOW()); ・&bold(){各種集計関数} |BGCOLOR(#e4ccff):&bold(){関数と表記}|BGCOLOR(#e4ccff):&bold(){内容}| |sum(カラム名)|合計を求める| |avg(カラム名)|平均を求める| |max(カラム名)|最高値を求める| |min(カラム名)|最低値を求める| ・japaneseフィールドの平均点(javg)、最低点(jmin)、最高点(jmax) > select avg(japanese) as javg, min(japanese) as jmin, > max(japanese) as jmax from test ・レコードをグループ分けして集計する > select フィールド名または関数の式 from テーブル名 where 条件式 > group by グループ化に使うフィールド名 order by 並べ替えに使うフィールド名 ・レコードをグループ分けして平均点、最低点、最高点を求める > select sex, avg(japanese) as javg, min(japanese) as jmin, > max(japanese) as jmax from test group by sex ・結果 #image(keisan2.gif,center) ※ XAMPP 1.7.7 [PHP: 5.3.8] での設定項目です。 ---- #center(){[[前のページ>php03]] < | > [[次のページ>php05]]} #center(){◆ ◆ ◆} ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: