1
0

More than 3 years have passed since last update.

[コーディングスキル] アウトプット用メモ

Last updated at Posted at 2021-09-01

用途

コーディングスキルを磨くために、随時用語を纏め内容を理解するのが目的です。

※アルファベット、50音順に纏めていきます。

変更履歴

9/2 sortメソッド
9/5 group by

group by(データをグループ化する)

GROUP BY 句を使用すると指定したカラムの値を基準にデータをグループ化することができます。グループ化することでデータの数を数える COUNT 関数やデータの平均を計算する AVG 関数をグループ毎に行うことが可能。

SQL

+--------+------------+
| name   | team       |
+--------+------------+
| 松井   | チームA    |
| 鈴木   | チームA    |
| 上原   | チームA    |
| 大谷   | チームB    |
| 坂本   | チームB    |
+--------+------------+

グループ化を行う「GROUP BY」と数を数える「COUNT」を利用すれば、グループごとの人数を算出出来る。

SQL
SELECT team, COUNT(team) FROM user GROUP BY team;
SQL
+------------+-------------+
| team       | COUNT(team) |
+------------+-------------+
| チームA    |           3 |
| チームB    |           2 |
+------------+-------------+

group byの使い方

SQL
select [表示する要素名] from [テーブル名] GROUP BY [グループ化する要素名];

条件を絞って使い方

WHERE・・・GROUP BYの影響の前に条件が適応される
HAVING・・・GORUP BYの影響のあとに条件が適応される

[WHERE]はグループ化される前に、特定ユーザーを省く時などに使用

SQL
+--------+------------+
| 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]で集計【後】を絞る

SQL
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]

また、文字列にも使用可能:point_up:

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)番目の数の和からなっている数列。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0