मेरे पास एक MySQL डेटाबेस में एक टेबल है जिसमें से मैं किसी अन्य दिए गए टाइमस्टैंप के निकटतम टाइमस्टैम्प के साथ पंक्ति का चयन करना चाहता हूं।MySQL में निकटतम पूर्णांक को खोजने का सबसे प्रभावी तरीका?
time
टाइमस्टैम्प कॉलम (एक पूर्णांक यूनिक्स टाइमस्टैम्प) है। मैंने मनमाने ढंग से 1250710000
चुना है।
इस क्वेरी है कि मैं के साथ आ गया है, और वहाँ यह करने के लिए एक अधिक कुशल तरीका है मैं सोच रहा हूँ:
SELECT *, ABS(time - 1250710000) AS time_dist FROM table
ORDER BY time_dist ASC LIMIT 1
इस यह करने के लिए सबसे अच्छा तरीका है?
अरे! मैं बस लगभग बिल्कुल टाइप कर रहा था! – NickZoic
ग्रेट विचार, लेकिन संदर्भ टाइमस्टैम्प (इस मामले में '1250710000') एक ही तालिका में नहीं है। ऐसा कहकर, मुझे लगता है कि यह क्वेरी दक्षता के मामले में समान है? – heyitsme
** @ cyouung: ** यह क्वेरी दक्षता के मामले में समान नहीं है। आपकी क्वेरी प्रत्येक एबी * पर * एबीएस (समय - 125071000) 'करती है। जब तक आपके पास 'समय' पर एक अनुक्रमणिका हो, तब तक यह क्वेरी दो पंक्तियों से अधिक कभी नहीं पढ़ेगी। –