मैं अपनी मेज पर एक प्रश्न चलाता हूं जो इसे आरोही क्रम में सबसे पुराना समय देता है (नवीनतम से सबसे पुराना)। जैसा कि मैंने एक लाइन ORDER BY timestamp
में रखा है।एसक्यूएल में टाइमस्टैम्प के बीच अंतर कैसे वापस करें?
मैं अपने परिणामों की जरूरत है "दिन लिया" जो टाइम स्टांप, यानी (टाइमस्टैम्प 2 - वह टाइमस्टैम्प 1) में से प्रत्येक के बीच का अंतर होता है एक स्तंभ कहा जाता है, (टाइमस्टैम्प 3 - वह टाइमस्टैम्प 2), (टाइमस्टैम्प 4 - वह टाइमस्टैम्प 3) और इसी तरह। एसक्यूएल का उपयोग करके मैं यह कैसे करूं?
value timestamp Days Taken
2 2016-03-16 05:11:40 -
3 2016-03-18 03:46:42 ?
4 2016-03-18 04:09:44 ?
5 2016-03-21 04:01:46 ?
6 2016-03-22 04:38:17 ?
मैं क्योंकि यह एक स्ट्रिंग और नहीं किसी पूर्णांक जिसके कारण this मेरे लिए काम नहीं करता है के रूप में परिभाषित किया गया है एक सूचकांक के रूप में स्तंभ value
उपयोग करने में असमर्थ हूँ। लिया गया दिन वह मान है जिसे मैं गणना करना चाहता हूं।
जोड़ने के लिए संपादित: मैं वर्टिका के लिए डीबी विज़ुअलाइज़र चला रहा हूं जो ऑन क्लॉज में सबक्वायरीज़ का समर्थन नहीं करता है।
मैनुअल पढ़ा जाए तो यह दिखाया है होगा [ 'DateDiff()'] (http://dev.mysql.com/doc/refman/5.7/en /date-and-time-functions.html#function_datediff) फ़ंक्शन। – tadman
हां, मुझे स्पष्ट होना चाहिए था। मुझे फ़ंक्शन के बारे में पता है, लेकिन मुझे यकीन नहीं है कि एक ही क्वेरी के एकाधिक पंक्तियों के बीच 'DATEDIFF() 'कैसे करें। एक आत्म-शामिल हो? – geekchic
आपकी स्कीमा कैसी दिखती है, तो? अपना प्रश्न संपादित करें और जोड़ें कि यदि आप कर सकते हैं, तो यह वही करेगा जो आप बहुत स्पष्ट करना चाहते हैं। – tadman