解答
225
SQL文(クエリ)
SELECT user_id , MIN(diff_2_and_3) AS interval_between_2_and_3 FROM ( SELECT * , DATETIME_DIFF(order_date3, order_date2, DAY) AS diff_2_and_3 FROM ( SELECT user_id , order_id , NTH_VALUE(order_date, 2) OVER (PARTITION BY user_id ORDER BY order_date) AS order_date2 , NTH_VALUE(order_date, 3) OVER (PARTITION BY user_id ORDER BY order_date) AS order_date3 FROM ( SELECT user_id , order_id , MIN(date_time) AS order_date FROM sample.sales GROUP BY user_id , order_id ) ) WHERE order_date2 IS NOT NULL AND order_date3 IS NOT NULL ) GROUP BY user_id ORDER BY interval_between_2_and_3 LIMIT 3