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

MySQL - जहाँ के रूप में चुनें

सबसे पहले, आप ALIAS . का उपयोग नहीं कर सकते WHERE . पर खंड। आपको कॉलम का उपयोग करना चाहिए,

SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val 
FROM   users 
WHERE  SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'

कारण इस प्रकार है:संचालन का क्रम SQL है,

  • खंड से
  • WHERE क्लॉज
  • ग्रुप बाय क्लॉज
  • हैविंग क्लॉज
  • चुनें खंड
  • खंड के अनुसार आदेश

ALIAS SELECT . पर होता है क्लॉज जो WHERE . से पहले है खंड।

यदि आप वास्तव में उपनाम का उपयोग करना चाहते हैं, तो इसे एक सबक्वेरी में लपेटें,

SELECT *
FROM
    (
        SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val 
        FROM   users
    ) s
WHERE   val  = '15'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php में mysql डेटाबेस से ग्राफ़ और चार्ट कैसे उत्पन्न करें?

  2. एक स्ट्रिंग के साथ मैसकल में एक आईडी (ऑटोइनक्रिमेंटेड) कैसे बनाएं? केवल PHP का उपयोग करना

  3. mysql के अंदर सरणी के लिए इंपोड का उपयोग करना जहां खंड में

  4. PHP में IN क्लॉज के साथ प्रश्नों में तैयार कथनों का उपयोग कैसे करें

  5. PHP 7.0 और MySQL स्टार्ट-अप त्रुटि अपरिभाषित प्रतीक:अज्ञात में mysqlnd_allocator