以下の内容を実現するには、どのようなSQLを記述すれば、実現可能でしょうか?
SQLが分かる方、よろしくお願いいたします。
table1
+---------+------------+------------------+
| rank | order_n_id | application_date |
+---------+------------+------------------+
| 1 | 196161 | 2019/8/23 |
| 2 | 196161 | 2019/11/5 |
| 3 | 196161 | 2019/12/20 |
| 4 | 279460 | 2019/9/3 |
| 5 | 337280 | 2019/9/18 |
| 6 | 337280 | 2019/11/6 |
| 7 | 337280 | 2019/11/12 |
+---------+------------+------------------+
↓
①
+---------+------------+--------------------------+
| rank | order_n_id | application_date | LT |
+---------+------------+--------------------------+
| 1 | 196161 | 2019/8/23 | 1 |
| 2 | 196161 | 2019/11/5 | 74 |
| 3 | 196161 | 2019/12/20 | 45 |
| 4 | 279460 | 2019/9/3 | 1 |
| 5 | 337280 | 2019/9/18 | 1 |
| 6 | 337280 | 2019/11/6 | 49 |
| 7 | 337280 | 2019/11/12 | 6 |
+---------+------------+------------------+-------+
②
+------------+--------+
| order_n_id | 平均LT |
+------------+--------+
| 196161 | 59.5 |
| 279460 | 1 |
| 337280 | 27.5 |
+------------+--------+
※rank:連番
※LT:経過日数
※LT=1とは初回申込という定義
【実現したいこと】
①同じorder_n_id内での経過日数を「LT」として出力したい
②order_n_idでgroup byした場合、1を除く、LTの平均値を出力したい
196161であれば、(74+45)/2=59.5