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

एक MySQL दृश्य में पंक्ति रैंक

उपयोग करें:

SELECT t.id,
       t.variety,
       (SELECT COUNT(*) FROM TABLE WHERE id < t.id) +1 AS NUM
  FROM TABLE t

यह ऐसा करने का एक आदर्श तरीका नहीं है, क्योंकि num मान के लिए क्वेरी लौटाई गई प्रत्येक पंक्ति के लिए निष्पादित होगी। एक बेहतर विचार यह होगा कि एक NUMBERS बनाया जाए तालिका, जिसमें एक कॉलम है जिसमें एक से शुरू होने वाली संख्या है जो एक बड़ी संख्या में वृद्धि करती है, और फिर NUMBERS में शामिल हों और संदर्भित करें तालिका एक तरह से चर उदाहरण के समान है जो निम्नानुसार है।

MySQL रैंकिंग, या उसका अभाव

छद्म पंक्ति संख्या कार्यक्षमता प्राप्त करने के लिए आप एक चर परिभाषित कर सकते हैं, क्योंकि MySQL में कोई रैंकिंग फ़ंक्शन नहीं है:

SELECT t.id,
       t.variety,
       @rownum := @rownum + 1 AS num
  FROM TABLE t,
       (SELECT @rownum := 0) r
  • SELECT @rownum := 0 चर को परिभाषित करता है, और इसे शून्य पर सेट करता है।
  • r एक सबक्वेरी/टेबल एलियास है, क्योंकि अगर आप किसी सबक्वायरी के लिए एक उपनाम को परिभाषित नहीं करते हैं, भले ही आप इसका उपयोग न करें, तो आपको MySQL में एक त्रुटि मिलेगी।

एक MySQL व्यू में एक वेरिएबल का उपयोग नहीं कर सकता

अगर आप ऐसा करते हैं, तो आपको 1351 त्रुटि प्राप्त होगी, क्योंकि आप डिज़ाइन के कारण किसी दृश्य में किसी चर का उपयोग नहीं कर सकते हैं . बग/फीचर व्यवहार यहां प्रलेखित है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में यह IF झूठी वापसी क्यों कर रहा है?

  2. Django में यूनिकोड स्ट्रिंग को सहेजते समय MySQL गलत स्ट्रिंग मान त्रुटि

  3. Php और mysql का उपयोग कर अधिसूचना प्रणाली

  4. लोड डेटा का उपयोग करते समय MySQL में दिनांक डेटा कैसे लोड करें?

  5. डेटाबेस में डालने के लिए सरणियों के माध्यम से कैसे लूप करें