表の日付の形式に基づいて、STR_TO_DATE
を使用して日付を変換する必要があります クエリでそれらを使用します。あなたのコラムがの場合 実際にはdatetime
タイプし、それはそのフォーマットを出力する表示コードです。STR_TO_DATE(xxx, '%m/%d/%Y %k:%i')
を置き換えるだけです。 このクエリではxxx
。
互いに10分以内に注文を見つける方法は、user_id
でテーブルに自己参加することです。 、order_id
2番目の注文の時間は1番目の注文の時間内で10分後です:
SELECT t1.user_id, t1.create_time AS order1_time, t2.create_time AS order2_time
FROM transactions t1
JOIN transactions t2 ON t2.user_id = t1.user_id
AND t2.order_id != t1.order_id
AND STR_TO_DATE(t2.create_time, '%m/%d/%Y %k:%i') BETWEEN
STR_TO_DATE(t1.create_time, '%m/%d/%Y %k:%i')
AND STR_TO_DATE(t1.create_time, '%m/%d/%Y %k:%i') + INTERVAL 10 MINUTE
出力:
user_id order1_time order2_time
101 4/2/2018 8:34 4/2/2018 8:37
103 4/2/2018 9:32 4/2/2018 9:36
106 4/2/2018 13:11 4/2/2018 13:18