SQLで一番古い or 新しい日付を特定する
複数のイベントをユーザーがもつ状態に対して一番新しい or 古いイベントを特定する。 例えばECサイトにおける一番新しい購入 or 古い購入を算出するなど。
実装
基本的にTimstampやDateTimeの型であればmaxやmin関数が使えるので簡単に判別できる。
-- 顧客毎の直近の購入と初めての購入の日付を算出する
select
customer_id
min(created_at) as first_order
, max(created_at) as latest_order
from order
group by customer_id
関連ページ
プログラミング言語
プログラミング言語・クエリ言語・記法等に関するノートをリンク MOC 📒関連 - Javascript - Typescript - Python - Dart - SQL - Processing - HTML - mermaid - ...
Supabase
SQLが利用できるOSSのFirebaseオルタナティブツール Supabase \| The Open Source Firebase Alternative MOC 関連 - Tips -
SQL
関連 - Tips - SQLで期間ごとにグループ化する - SQLでN日前を計算する - SQLで累計や割合をテーブルの値として出す - SQLで一番古い or 新しい日付を特定する - SQLでkey valueのカラムが分かれているも...
SQLで0徐算を回避する
SQLで0徐算を回避する方法。 N / 0のように0で割ろうとするとエラーが発生しクエリ実行ができない IFNULL関数を使って、特定の値のときはNullになるようにする。 `sql select conversions / ifnull(
SQLでテーブルを縦持ちから横持ちに変更する
SQLで縦に並んでるデータを横に並べる。 縦持ちのテーブル | owner_id | key | value | | -------- | ------ | ----- | | 1 | height | 160 | | 1 | weight...
Hasura + Postgresqlでtextをuuidに変更するマイグレーションを実行
Hasura + postgreSQLの構成でtextをuuidに変更するマイグレーションを行いたい。 まずはマイグレーションファイルを生成する。 `shell hasura migrate create text_to_uuid ` ha...