MySQL में डालने के लिए ROW_NUMBER() के बराबर नहीं है लेकिन आप इसे वैरिएबल की मदद से हासिल कर सकते हैं। वाक्य रचना इस प्रकार है -
चुनें(@yourVariableName:=@yourVariableName + 1) as `anyAliasName`,yourColumnName1,yourColumnName2,...NFROMyourTableName ,(SELECT @yourVariableName:=0) as anyAliasName;
उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> तालिका बनाएं RowNumberDemo -> (-> UserId int, -> UserName varchar(20) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.74 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> RowNumberDemo मानों में डालें (10, 'जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> RowNumberDemo मानों में डालें (50, 'कैरोल'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकेंड) )mysql> RowNumberDemo मानों (100, 'सैम') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> RowNumberDemo मानों में डालें (150, 'माइक'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.54 सेकंड) mysql> RowNumberDemo मानों (210, 'बॉब') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.58 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> RowNumberDemo से *चुनें;
निम्न आउटपुट है -
<पूर्व>+----------+----------+| उपयोगकर्ता आईडी | उपयोगकर्ता नाम |+----------+----------+| 10 | जॉन || 50 | कैरल || 100 | सैम || 150 | माइक || 210 | बॉब |+-----------+----------+5 पंक्तियों में सेट (0.00 सेकंड)यहाँ ROW_NUMBER समकक्ष -
. जैसा कुछ प्राप्त करने के लिए क्वेरी हैmysql> SELECT -> (@ROW_NUMBER:=@ROW_NUMBER + 1) AS `ROW_NUMBER`, UserId, UserName -> FROM -> RowNumberDemo,(SELECT @ROW_NUMBER:=0) AS t;
निम्न आउटपुट है -
<पूर्व>+---------------+-----------+----------+| ROW_NUMBER | उपयोगकर्ता आईडी | उपयोगकर्ता नाम |+---------------+-----------+----------+| 1 | 10 | जॉन || 2 | 50 | कैरल || 3 | 100 | सैम || 4 | 150 | माइक || 5 | 210 | बॉब |+------------+----------+----------+5 पंक्तियों में सेट (0.03 सेकंड)