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

MySQL क्वेरी उपनाम अज्ञात कॉलम को कैसे ठीक करें? 2018

MySQL 5.7 संदर्भ मैनुअल के अनुसार ,

आपको WHERE क्लॉज में उपनाम का उपयोग नहीं करना चाहिए क्योंकि क्वेरी चलाने पर उपनाम उत्पन्न होता है और WHERE स्थिति निष्पादित होने पर तैयार नहीं हो सकता है। आपको उपनाम अज्ञात कॉलम त्रुटि मिलती है क्योंकि क्वेरी के परिणाम के रूप में उत्पन्न होने तक MySQL को उपनाम के बारे में पता नहीं है। इसलिए आप यहां WHERE क्लॉज में उपनाम का उपयोग नहीं कर सकते।

(प्रश्न के बाद जोड़ संपादित करें)

आप निम्न क्वेरी के साथ वांछित परिणाम प्राप्त कर सकते हैं:

SELECT r.id, r.url, MAX(date) as `max_date`
FROM report as r
GROUP BY id, url;

क्वेरी स्पष्टीकरण:SELECT . में खंड आप केवल उन स्तंभों का उल्लेख करते हैं जिन्हें आप प्रदर्शित करना चाहते हैं, MAX() फ़ंक्शन पहले से ही अधिकतम मानों का चयन करेगा (इसलिए आपको WHERE क्लॉज की आवश्यकता नहीं है), और ग्रुप बाय क्लॉज परिणाम को id के आधार पर सभी परिणामों को समूहित करने के लिए कहता है। और फिर url




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हाइबरनेट के साथ ऑटो इंक्रीमेंट

  2. JdbcDirectory का उपयोग करके डेटाबेस में ल्यूसीन इंडेक्स बनाएं

  3. क्या मुझे mysql_close (कनेक्शन) का उपयोग करने की आवश्यकता है?

  4. Laravel Eloquent द्वारा प्रबंधित टाइमस्टैम्प (created_at और update_at) के लिए टाइमज़ोन को कैसे अपडेट करें?

  5. पायथन में mysql.connector के साथ प्रारूप-मापदंडों को संसाधित करने में विफल