तालिका में आपकी तिथियों के प्रारूप के आधार पर, आपको STR_TO_DATE
का उपयोग करके उन्हें रूपांतरित करना होगा एक प्रश्न में उनका उपयोग करने के लिए। अगर आपका कॉलम है वास्तव में एक datetime
टाइप करें, और वह केवल आपका डिस्प्ले कोड है जो उस प्रारूप को आउटपुट कर रहा है, बस STR_TO_DATE(xxx, '%m/%d/%Y %k:%i')
को बदलें। इस क्वेरी में xxx
. के साथ ।
एक दूसरे से 10 मिनट के भीतर ऑर्डर खोजने का तरीका user_id
पर अपनी तालिका में स्वयं शामिल होना है , order_id
और दूसरे आदेश का समय पहले आदेश के समय के भीतर और 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