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

mysql तालिका से डुप्लिकेट मानों का योग कैसे करें

SELECT  uid 
     ,  date 
     , SUM(USD) AS USD 
     ,  Ref_Nr  
  FROM my_table
 GROUP 
    BY `date`, Ref_Nr, uid;

इस मामले में वांछित परिणाम प्राप्त करने के लिए आपके पास समूह में Ref_Nr होना चाहिए। नमूना डेटा के आधार पर यूआईडी की आवश्यकता नहीं है; लेकिन समूह में चयन से गैर-एकत्रित फ़ील्ड द्वारा हमेशा समूह बनाना बुद्धिमानी है। MySQL में इसके काम करने का एकमात्र कारण यह है कि वे विस्तार करते हैं द्वारा समूह ; अधिकांश अन्य RDBMS समूह में अनुपलब्ध गैर-एकत्रित फ़ील्ड के बारे में त्रुटि देंगे। संस्करण 5.7.5 और उच्चतर में यह सुविधा डिफ़ॉल्ट रूप से अक्षम होती है जहां पहले डिफ़ॉल्ट रूप से सक्षम होती है।

ग्रुप में ref_nr की आवश्यकता क्यों है:

MySQL इंजन का मानना ​​है कि आप केवल तिथि के अनुसार समूह बनाना चाहते हैं। तो सभी ref_NR को एक साथ जोड़ दिया जाता है और सिस्टम प्रदर्शित करने के लिए प्रति दिनांक केवल एक को चुनता है; यूआईडी के लिए समान; लेकिन चूंकि वे सभी एक जैसे हैं; आपको परवाह नहीं है। यह ref_nr के मामले में नहीं है।

तो समस्या को हल करने के लिए, बस ref_nr जोड़ें UID . से समूह में कुल मिलाकर . तो यह चयन से समूह में सभी गैर-एकत्रित स्तंभों द्वारा समूह में अच्छा है।




  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. mysqli कोड और call_user_func_array () में दिखाई देने वाली त्रुटियां

  3. त्रुटि कोड 13 , बाहरी मुद्दे में चयन करें

  4. PHP और MySQL डेटाबेस में ब्लॉग कैसे बनाये - बैकएंड

  5. एसक्यूएल क्वेरी में ऑटो वृद्धि एक वर्चर