他のSQLでは利用できないが、PRESTOで使えるナイスなUDFです。

-- shohin_idでgroup byしつつ、group by されたshohin_idの shohin_nameも取得する

-- MIN_BYのコード例
SELECT
  shohin_id
  , MIN(time) AS min_time
  , MIN_BY(shohin_name, time) AS shohin_name
FROM
  table1
GROUP BY
  shohin_id
;

-- MAX_BYのコード例
SELECT
  shohin_id
  , MAX(time) AS min_time 
  , MAX_BY(shohin_name, time) AS shohin_name
FROM 
  table1
GROUP BY
  shohin_id

mysqlやpostgresqlなどでは使う場合、

同じテーブルから、最小値の項目抽出して、副問い合わせなどでJOINする事が多かったので、

そこと比較して、1行でかけるのは楽!の一言。

おすすめの記事