Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

परिणाम सेट में ऑटो-नंबरिंग पंक्तियों के लिए शुद्ध-एसक्यूएल तकनीक

एक सार्थक पंक्ति संख्या प्राप्त करने के लिए आपको अपने परिणामों को क्रमित करने की आवश्यकता है। तब आप कुछ इस तरह कर सकते हैं:

SELECT id, name
    , (SELECT COUNT(*) FROM people p2 WHERE name='Spiewak' AND p2.id <= p1.id) AS RowNumber
FROM people p1
WHERE name = 'Spiewak'
ORDER BY id

ध्यान दें कि उप क्वेरी के WHERE क्लॉज को WHERE क्लॉज या मुख्य क्वेरी और की प्राथमिक कुंजी से मेल खाना चाहिए मुख्य प्रश्न का ORDER BY।

SQL सर्वर में इसे सरल बनाने के लिए ROW_NUMBER() ओवर कंस्ट्रक्शन है, लेकिन मुझे नहीं पता कि MySQL के पास इसे संबोधित करने के लिए कुछ खास है या नहीं।

चूंकि यहां मेरी पोस्ट को उत्तर के रूप में स्वीकार किया गया था, मैं डैन गोल्डस्टीन की प्रतिक्रिया को भी कॉल करना चाहता हूं, जो दृष्टिकोण में बहुत समान है लेकिन उप क्वेरी के बजाय जॉइन का उपयोग करता है और अक्सर बेहतर प्रदर्शन करेगा



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं चयन अनुमति के बिना एक विशिष्ट रिकॉर्ड कैसे अपडेट कर सकता हूं?

  2. MySQL संग्रहीत फ़ंक्शन के अंदर पूर्णांक चर घोषित करने में त्रुटि

  3. किसी प्रपत्र के माध्यम से डेटाबेस में इमोजी जोड़ते समय गलत स्ट्रिंग त्रुटि

  4. SQL तालिका से बूटस्ट्रैप-ड्रॉपडाउन में आइटम सम्मिलित करना

  5. सी # का उपयोग कर MySQL के लिए डेटटाइम कनवर्ट करें