1
visid、custidおよびvalueの各concactentationは、 "detail"と "confirm"の両方または "detail"のみを持つ場合があります。 それは行を取得してはならないことを、唯一の「詳細」を持っている場合は、他の私はSQLで条件を指定して行を選択
visid custid value datetime value1
123 456 11 2017-03-01 12:34:11 Detail
123 456 11 2017-03-01 12:36:11 confirm
567 342 56 2017-03-01 12:45:11 Detail
567 342 56 2017-03-01 12:46:11 confirm
411 124 78 2017-03-01 12:34:11 Detail
Output:
visid custid value datetime
123 456 11 00:02:00 (12:36:11 - 12:34:11)
567 342 56 00:01:00 (12:46:11 - 12:45:11)
「確認」visid、お客様IDと値の組み合わせは、「詳細」の両方を持っているとき、日付時刻 の違いを見つけてしなければなりません注:411,124および78の最後の行には確認がないので、その行を削除する必要があります。私が試した
問合せ:
select visid, custid, value, concat(visid, custid, value) as session, datetime
from table1
where datetime between "2017-05-01 00:00:00" and "2017-05-02 00:00:00"
and value1 in ('Detail','Confirm')
使用しているデータベースで質問にタグを付けてください。 –