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

कैसे हल करें mysql क्वेरी में GROUP BY त्रुटि में नहीं है

प्रत्येक गैर-एकत्रित फ़ील्ड को समूहीकृत किया जाना चाहिए।

यह मानक व्यवहार है, जो mysql में, ONLY_FULL_GROUP_BY मोड पर निर्भर करता है।
यह मोड>=5.7 में डिफ़ॉल्ट रूप से सक्षम है .

select posts.id, post.user_id, count(likings.id) as likes_count
from posts
left join likings on likings.post_id = posts.id and likings.isActive= 1
group by posts.id, posts.user_id
order by likes_count desc 
limit 5

या, आप aggregate . कर सकते हैं यह:

select posts.id, MIN(post.user_id), count(likings.id) as likes_count
from posts
left join likings on likings.post_id = posts.id and likings.isActive= 1
group by posts.id
order by likes_count desc 
limit 5

दूसरा तरीका - बदलें sql_mode :

SET SESSION sql_mode = '';

साथ ही, आप इसे 2 प्रश्नों में विभाजित कर सकते हैं:

  1. कुल प्राप्त करें और आईडी पोस्ट करें
  2. प्राप्त आईडी के साथ पोस्ट डेटा प्राप्त करें (IN clause . के साथ )


  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. SQL और MySQL में संग्रहीत कार्यविधियाँ बनाने के क्या लाभ हैं?

  3. गंभीर त्रुटि:ध्यान में न आया त्रुटि:अपरिभाषित समारोह के लिए कॉल mysql_connect ()

  4. प्रतिशत मूल्य कैसे स्टोर करें?

  5. MySQL और JDBC पुनर्लेखन के साथBatchedStatements=true