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

चयन के भीतर एक चर परिभाषित करें और इसे उसी चयन के भीतर उपयोग करें

MySQL दस्तावेज़ीकरण इस पर बिल्कुल स्पष्ट है:

<ब्लॉकक्वॉट>

एक सामान्य नियम के रूप में, आपको कभी भी उपयोगकर्ता चर के लिए कोई मान निर्दिष्ट नहीं करना चाहिए और उसी कथन के भीतर मान को पढ़ना चाहिए। आपको अपेक्षित परिणाम मिल सकते हैं, लेकिन इसकी गारंटी नहीं है। उपयोगकर्ता चर वाले भावों के मूल्यांकन का क्रम अपरिभाषित है और किसी दिए गए कथन में निहित तत्वों के आधार पर बदल सकता है; इसके अलावा, यह आदेश MySQL सर्वर के रिलीज के बीच समान होने की गारंटी नहीं है। SELECT @a, @a:[email protected] में +1, ..., आप सोच सकते हैं कि MySQL पहले @a का मूल्यांकन करेगा और फिर एक असाइनमेंटसेकंड करेगा। हालांकि, स्टेटमेंट बदलने (उदाहरण के लिए, ग्रुप बाय, हैविंग, या ऑर्डर बाय क्लॉज जोड़कर) MySQL को मूल्यांकन के एक अलग क्रम के साथ निष्पादन योजना का चयन करने का कारण हो सकता है।

आप सबक्वायरी का उपयोग करके वह कर सकते हैं जो आप चाहते हैं:

select @z, @z*2
from (SELECT @z:=sum(item)
      FROM TableA
     ) t;


  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 में अनुक्रमित दृश्य होना संभव है?

  2. MySQL को कैसे प्रबंधित करें - Oracle DBA के लिए

  3. MySQL FLOOR () फ़ंक्शन - निकटतम पूर्णांक तक गोल करें

  4. mysql डेटाबेस में डुप्लिकेट प्रविष्टि से बचने का सबसे अच्छा तरीका

  5. पूर्ण पाठ खोज इंजन की तुलना - Lucene, Sphinx, Postgresql, MySQL?