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

क्या mysql 5.6 के लिए कोई_VALUE क्षमता है?

आप ग्रुप के कुख्यात गैर-मानक MySQL एक्सटेंशन का दुरुपयोग कर रहे हैं द्वारा . मानक SQL हमेशा आपकी क्वेरी को अस्वीकार कर देगा, क्योंकि आप उन स्तंभों का उल्लेख कर रहे हैं जो समुच्चय नहीं हैं और जिनका GROUP BY में उल्लेख नहीं किया गया है . अपने देव सिस्टम में आप ANY_VALUE() . के साथ उस पर काम करने की कोशिश कर रहे हैं .

उत्पादन में, आप ONLY_FULL_GROUP_BY MySQL मोड को बंद कर सकते हैं । यह करने का प्रयास करें :

  SET @mode := @@SESSION.sql_mode;
  SET SESSION sql_mode = '';
  /* your query here */
  SET SESSION sql_mode = @mode;

यह MySQL को आपकी क्वेरी स्वीकार करने की अनुमति देगा।

लेकिन देखिए, आपकी क्वेरी वास्तव में सही नहीं है। जब आप इसे चलाने के लिए राजी कर सकते हैं, तो यह images . से बेतरतीब ढंग से चुनी गई पंक्ति देता है टेबल। इस तरह की अनिश्चितता अक्सर उपयोगकर्ताओं और आपके तकनीकी सहायता दल के लिए भ्रम पैदा करती है।

क्‍यों न क्‍वेरी को बेहतर बनाया जाए, इसलिए यह एक खास इमेज को चुनती है। अगर आपकी images तालिका में एक ऑटोइनक्रिकमेंट है id कॉलम आप "पहली" छवि का चयन करने के लिए ऐसा कर सकते हैं।

SELECT c.id, c.name, i.*
  FROM countries c
  LEFT JOIN (
       SELECT MIN(id) id, country_id
         FROM images
        GROUP BY country_id
       ) first ON c.id = first.country_id
  LEFT JOIN images i ON first.id = i.id

वह प्रति देश एक पंक्ति लौटाएगा जिसमें एक अनुमानित छवि दिखाई जाएगी।



  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 ड्रॉप व्यू

  3. JSON_INSERT () - MySQL में JSON दस्तावेज़ में मान डालें

  4. MySQL त्रुटि 1153 - 'max_allowed_packet' बाइट्स से बड़ा पैकेट मिला

  5. JSON_MERGE_PATCH () बनाम JSON_MERGE_PRESERVE () MySQL में:क्या अंतर है?