2013-05-08 3 views

उत्तर

18

सबसे बड़ा आईडी के साथ रिकॉर्ड पहले, तो पहले रिकॉर्ड बाद बंद प्राप्त करें:

SELECT * FROM MyTable ORDER BY id DESC LIMIT 1 
+1

प्रश्न से ऊपर एन रिकॉर्ड खोजें, फिर एन रिकॉर्ड व्यवस्थित करता है, फिर 1 रिकॉर्ड प्राप्त होता है ... ?????? क्या यह क्वेरी कुशल है, इसे ट्यूनिंग की आवश्यकता है। दक्षता के मामले में @Newbie द्वारा उत्तर के नीचे बहुत बेहतर है। –

+4

एक सीमित * एन * क्वेरी में, SQLite सॉर्ट करते समय केवल * n * सबसे बड़ी पंक्तियों को रखता है। और यदि कॉलम अनुक्रमित है, तो कोई सॉर्टिंग आवश्यक नहीं है। –

1

आप क्वेरी सिंटैक्स जानना चाहते हैं:

String query = "SELECT MAX(id) AS max_id FROM mytable"; 
7

बस mysql की तरह, आप उपयोग कर सकते हैं MAX()

उदा SELECT MAX(id) AS member_id, name, value FROM YOUR_TABLE_NAME

+0

मैं मूल्य आईडी नहीं चयन करना चाहते हैं। – abidinberkay

+0

मैंने अपना कोड अपडेट किया। यह अब काम करना चाहिए – Lian

+0

क्षमा करें मैं अपना संपादन – Lian

0

इस प्रयास करें:

SELECT value FROM table WHERE id==(SELECT max(id) FROM table)); 
+0

'==' एसक्यूएल में मौजूद नहीं है, अगर मुझे गलत नहीं लगता है। – RichouHunter

+0

यह SQLite में मौजूद है: https://sqlite.org/lang_expr.html – sergi

+0

ठीक है, काफी उचित है। – RichouHunter

संबंधित मुद्दे