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

मैसकल समूह दो कॉलम से और तीसरे कॉलम का अधिकतम मूल्य चुनें

आपकी क्वेरी ठीक है। आपको 2000 पंक्तियाँ प्राप्त करने का कारण यह है कि आपको प्रत्येक अद्वितीय जोड़ी मानों के लिए एक पंक्ति मिल रही है user_id , item_id

यदि आप प्रत्येक पंक्ति में होने वाले इंटरैक्शन प्रकारों को देखना चाहते हैं तो इसका उपयोग करें:

select user_id, item_id, max(interaction_type) as max_type,
       group_concat(distinct interaction_type) as interaction_types,
       count(*) as cnt
from mytable
group by user_id, item_id;

मेरे साथ ऐसा होता है कि आप सभी पंक्तियों को अधिकतम इंटरैक्शन प्रकार के साथ चाहते हैं। यदि ऐसा है, तो अधिकतम की गणना करें और फिर उस मान से मेल खाने वाली सभी पंक्तियाँ खोजें:

select t.*
from mytable t cross join
     (select max(interaction_type) as maxit from mytable) x
     on x.maxit = t.interaction_type;

कोई group by . नहीं इस क्वेरी के लिए आवश्यक है।




  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. एक MySQL में दो तालिकाओं में शामिल होना

  3. MySQL कई पंक्तियों को हटाने से बचने के लिए ट्रिगर हटाने से पहले

  4. SQL - मुझे केवल प्रत्येक प्रकार के लिए 3 हिट दें

  5. MYSQL तालिका के सबसेट के भीतर ऑटो-इन्क्रीमेंट कैसे करें