SQLでテーブルを縦持ちから横持ちに変更する
SQLで縦に並んでるデータを横に並べる。SQLで縦に並んでるデータを横に並べる。
縦持ちのテーブル
| owner_id | key | value |
|---|---|---|
| 1 | height | 160 |
| 1 | weight | 60 |
| 2 | height | 170 |
| 2 | weight | 70 |
横持ちのテーブル
| owner_id | height | weight |
|---|---|---|
| 1 | 160 | 60 |
| 2 | 170 | 70 |
以下のようにcase文を使うことで横持ちにする
select owner_id
max(case key when height then value end) as height
max(case key when weight then value end) as weight
from table
group by owner_id
max()で囲むことでgroup by時のaggregateを擬似的に対応できる。
group byを行わない場合以下のようなテーブルが生成される。
| owner_id | height | weight |
|---|---|---|
| 1 | 160 | null |
| 1 | null | 60 |
| 2 | 170 | null |
| 2 | null | 70 |
このテーブルをgroup byすることで横持ちのテーブルのような形に整形が可能になる。
関連ページ
SQLでテーブルを縦持ちから横持ちに変更する
SQLで縦に並んでるデータを横に並べる。 縦持ちのテーブル | owner_id | key | value | | -------- | ------ | ----- | | 1 | height | 160 | | 1 | weight...
SQLで0徐算を回避する
SQLで0徐算を回避する方法。 N / 0のように0で割ろうとするとエラーが発生しクエリ実行ができない IFNULL関数を使って、特定の値のときはNullになるようにする。 `sql select conversions / ifnull(
SQL
関連 - Tips - SQLで期間ごとにグループ化する - SQLでN日前を計算する - SQLで累計や割合をテーブルの値として出す - SQLで一番古い or 新しい日付を特定する - SQLでkey valueのカラムが分かれているも...
プログラミング言語
プログラミング言語・クエリ言語・記法等に関するノートをリンク MOC 📒関連 - Javascript - Typescript - Python - Dart - SQL - Processing - HTML - mermaid - ...
Supabase
SQLが利用できるOSSのFirebaseオルタナティブツール Supabase \| The Open Source Firebase Alternative MOC 関連 - Tips -
Hasura + Postgresqlでtextをuuidに変更するマイグレーションを実行
Hasura + postgreSQLの構成でtextをuuidに変更するマイグレーションを行いたい。 まずはマイグレーションファイルを生成する。 `shell hasura migrate create text_to_uuid ` ha...