※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

前のページ < | > 次のページ

(8) SQLの計算、集計、グループ化

  • 下記にサンプルデータを記す。これを用いて集計等を行った。
+ ←クリックで開く

  • フィールドの値同士を計算する
select name, sex, japanese, math, english, japanese + math + english 
from test 
  • 結果

  • 計算結果にネーミングする。
    • asを使って、先ほどの長いフィールド名が「sum」に表記される。
select name, sex, japanese, math, english, japanese + math + english 
as sum from test


関数を使う

  • concat(); 結合関数
select concat(id,'番 ',name,'さん') from test;

  • count(); カウント関数  レコードの件数を数える
select count(id) from test where sex = '男'
  • 結果
5

  • 右から2文字を取り出す: right関数
select right(bang,2) from tb1;

  • 左から2文字を取り出す: left関数
select left(bang,2) from tb1;

  • ~文字目から△文字取り出す: substring関数
select substring(bang,~,△) from tb1;

  • 繰り返して表示: repeat関数
select repeat('-',tosi) from tb1;

  • 逆さから表示: reverse関数
select reverse(nama) from tb1;

  • 今の時刻を入れる: now関数
create table ima (a INT AUTO_INCREMENT PRIMARY KEY ,b DATETIME);
insert into ima (b) values(NOW());


  • 各種集計関数
関数と表記 内容
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
  • 結果


※ XAMPP 1.7.7 [PHP: 5.3.8] での設定項目です。






前のページ < | > 次のページ
◆ ◆ ◆

添付ファイル