だから私は次の会員履歴表を持っています
User_ID | Start date | End Date | Type(0-7) |
--------------------------------------------------
2 | date1 | date2 | 0 |
--------------------------------------------------
2 | date3 | date4 | 3 |
--------------------------------------------------
2 | date5 | date6 | 3 |
--------------------------------------------------
2 | date7 | date8 | 1 |
--------------------------------------------------
3 | date9 | date10 | 6 |
--------------------------------------------------
3 | date11 | date12 | 0 |
--------------------------------------------------
結果でmysqlクエリを作成しようとしています:
User_ID | Start date | End Date | Type(0-7) |PrevEnd-CurStart| Prevtype
----------------------------------------------------------------------------------
2 | date1 | date2 | 0 | null OR 0 | null OR 0
----------------------------------------------------------------------------------
2 | date3 | date4 | 3 | Date3-Date2 | 0
----------------------------------------------------------------------------------
2 | date5 | date6 | 3 | Date5-Date4 | 3
----------------------------------------------------------------------------------
2 | date7 | date8 | 1 | Date7-Date6 | 3
----------------------------------------------------------------------------------
3 | date9 | date10 | 6 | null Or 0 | null OR 0
----------------------------------------------------------------------------------
3 | date11 | date12 | 0 | Date11-Date10 | 6
----------------------------------------------------------------------------------
その時点からどちらの方法でも作業できるため、Nullまたは0を入力しました
そのためのmysqlクエリを作成するにはどうすればよいですか?これは私が必要とするレポートの単なるサブクエリであり、昨日、昨夜、そして今日、一日中それを続けてきました。本当に助けていただければ幸いです。これは月に1回だけ実行する必要があるため、実行時間との関連性はほとんどありません。
編集:現在の出力を取得するには、次を使用します。'group by 1,2,3,4'は、多くの重複を取り除く必要があるためです。
select
mh.account_id,
mh.start_date,
mh.end_date,
mh.`type`
from tbl_membership_history mh join tbl_membership m on mh.account_id=m.account_id
group by 1,2,3,4
order by 1,2,3,4
limit 100