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
. से समूह में कुल मिलाकर . तो यह चयन से समूह में सभी गैर-एकत्रित स्तंभों द्वारा समूह में अच्छा है।