उपयोग करें:
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 त्रुटि प्राप्त होगी, क्योंकि आप डिज़ाइन के कारण किसी दृश्य में किसी चर का उपयोग नहीं कर सकते हैं . बग/फीचर व्यवहार यहां प्रलेखित है ।