用途
コーディングスキルを磨くために、随時用語を纏め内容を理解するのが目的です。
※アルファベット、50音順に纏めていきます。
変更履歴
9/2 sortメソッド
9/5 group by
group by(データをグループ化する)
GROUP BY 句を使用すると指定したカラムの値を基準にデータをグループ化することができます。グループ化することでデータの数を数える COUNT 関数やデータの平均を計算する AVG 関数をグループ毎に行うことが可能。
+--------+------------+
| name | team |
+--------+------------+
| 松井 | チームA |
| 鈴木 | チームA |
| 上原 | チームA |
| 大谷 | チームB |
| 坂本 | チームB |
+--------+------------+
グループ化を行う「GROUP BY」と数を数える「COUNT」を利用すれば、グループごとの人数を算出出来る。
SELECT team, COUNT(team) FROM user GROUP BY team;
+------------+-------------+
| team | COUNT(team) |
+------------+-------------+
| チームA | 3 |
| チームB | 2 |
+------------+-------------+
group byの使い方
select [表示する要素名] from [テーブル名] GROUP BY [グループ化する要素名];
条件を絞って使い方
WHERE・・・GROUP BYの影響の前に条件が適応される
HAVING・・・GORUP BYの影響のあとに条件が適応される
[WHERE]はグループ化される前に、特定ユーザーを省く時などに使用
+--------+------------+
| name | team |
+--------+------------+
| 松井 | チームA |
| 鈴木 | チームA |
| 上原 | チームA |
| 大谷 | チームB |
| 坂本 | チームB |
+--------+------------+
SELECT team,COUNT(team) FROM user WHERE name!="松井" GROUP BY team;
+------------+-------------+
| team | COUNT(team) |
+------------+-------------+
| チームA | 2 |
| チームB | 2 |
+------------+-------------+
[HAVING]で集計【後】を絞る
SELECT team,COUNT(team) AS team_num FROM user GROUP BY team HAVING 3 <= team_num;
+------------+----------+
| team | team_num |
+------------+----------+
| チームA | 3 |
+------------+----------+
sortメソッド
配列に対してsortメソッドを使用すると中身を順々に並び替えが可能。
array = [1, 4, 3, 2]
array.sort
=> [1, 2, 3, 4]
reverseメソッドを組み合わせれば降順も可能!
array.sort.reverse
=> [4, 3, 2, 1]
また、文字列にも使用可能
array = [ "e", "b", "a", "d","c"]
array.sort
=> ["a", "b", "c", "d", "e"]
除数
除法(割り算)で、割るほうの数。
被除数
除法(割り算)で、割られるほうの数。
フィボナッチ数列
フィボナッチ数列は、「2つ前の項と1つ前の項を足し合わせていくことでできる数列」
プログラミング言語の実装では、再帰的処理の例としてよく紹介されています。
1,1,2,3,5,8,13,21...
n番目の数(n-1)番目と(n-2)番目の数の和からなっている数列。